如何使用openpyxl的page模块为工作表设置页边距
问题原因
你出现报错的核心是调用方式错误:PageMargins 是独立的配置类,不是工作表对象的内置方法,不需要直接对ws_example调用。且openpyxl的页边距配置是整个工作表全局生效的,不需要拆分到单独每页设置,配置后工作表内所有打印页都会沿用同一份页边距规则。
正确实现代码
from openpyxl import load_workbook from openpyxl.worksheet.page import PageMargins wb = load_workbook('example.xlsx') ws_example = wb['Sheet1'] # 实例化PageMargins对象,传入边距参数(单位为英寸)后赋值给工作表的page_margins属性 ws_example.page_margins = PageMargins(left=0.5, right=0.4, top=0.612, bottom=0.1, header=0.2, footer=0.3) # 保存文件后配置即可生效 wb.save('example_with_margin.xlsx')
补充说明
- 不需要遍历工作表分页设置页边距,openpyxl没有暴露单页打印配置的相关接口,所有打印相关的页面配置(边距、纸张大小、打印方向等)都是工作表维度的全局配置。
- 3.0.9版本完全支持上述写法,不需要升级版本即可正常运行。
内容的提问来源于stack exchange,提问作者cloudyweather
相关产品推荐
相关产品推荐

