如何通过Excel JavaScript API设置“Fit All Columns on One Page”打印选项
Excel JavaScript API 配置「所有列适配单页宽度打印」实现方案
- 核心规则和VBA实现逻辑一致,不需要手动计算打印缩放比例,通过工作表的页面布局属性配置即可生效:
- 首先要关闭固定缩放模式(对应属性zoom),否则适配规则会被缩放配置覆盖,无法生效
- 将宽度适配页数属性fitToWidth设为1,代表所有列强制压缩到1页的宽度范围内
- 将高度适配页数属性fitToHeight设为0,代表不对行高做强制单页限制,内容超出单页高度时自动分页
- 可直接运行的代码示例:
await Excel.run(async (context) => { // 获取需要配置打印规则的目标工作表,示例中取当前活动工作表 const targetSheet = context.workbook.worksheets.getActiveWorksheet(); // 关闭固定缩放模式,开启适配打印规则 targetSheet.pageLayout.zoom = { horizontal: false, vertical: false }; // 配置列宽适配单页、高度按内容自动分页 targetSheet.pageLayout.fitToPage = { fitToWidth: 1, fitToHeight: 0 }; await context.sync(); });
拓展配置说明:如果需要把工作表所有内容(含全部行)都压缩到单页打印,只需要把上述代码中
fitToHeight的值改为1即可;如果要退出适配模式回到固定比例缩放,重新给pageLayout.zoom赋值对应缩放比例(比如传入100即代表100%缩放打印)即可。
内容的提问来源于stack exchange,提问作者FreeSoftwareServers
相关产品推荐
相关产品推荐

