非专业程序开发人员,自己使用 Python 写一个批量打印的功能,想实现 Excel/WPS 表格内置的打印缩放功能,并没有查询到相关的内容,希望各位大神解答一下。
1
raymanr 2020-10-20 16:51:54 +08:00 1
你可以使用 pywin32 这个库
然后手录一个打印缩放的宏, 接着把这个宏的 vba 代码片段翻成 python 代码 具体的代码肯定是没法根据你的提示就写出来让你 copy 的 但是给你个提示就是录制的 vba 片段几乎可以原封不动搬运到 python 里面,只有 vba 的枚举需要翻译为数字 pywin32 的用法你网上搜一下吧,几乎就是 vba 的翻版 |
2
renmu123 2020-10-20 17:12:54 +08:00 via Android
可以试试 openpyxl
|
3
ZakaryTime OP @renmu123 看了下可以设置对齐方式、页眉页脚、打印标题、打印区域,但是还是没看到设置缩放的方式
|
4
ZakaryTime OP @raymanr 好的,我去看看如何实现。
|
5
renmu123 2020-10-20 20:16:04 +08:00
@ZakaryTime #4
from openpyxl import load_workbook from openpyxl.worksheet.page import PrintPageSetup wb = load_workbook("test.xlsx") ws = wb.active ws.page_setup = PrintPageSetup(worksheet=ws, fitToHeight=2, fitToWidth=1, scale=10) wb.save("new.xlsx") excel 实现打印缩放主要有两种方法: 1. 在页面设置中设置缩放比例 2. 在页面设置中调整页宽和页高 在 openpyxl 可以实现,文档应该是没写出来,可以参考上面我的代码,我将缩放设置成了 10%(页宽和页高也分别进行了设置,但是我没找到怎么勾选这个设置 23333 ) ps: 欢迎关注我翻译的 openpyxl 文档: https://github.com/renmu123/openpyxl-chinese-docs (虽然好久没更新了) |