如何用openpyxl将Excel工作表设置为横向?求助
解决openpyxl设置打印方向失败的问题
Hey Ellie! 我明白你折腾了好久都没搞定这个打印方向的设置,查了官方文档也没头绪,这就给你捋清楚怎么弄~
首先看你成功运行的代码,已经正确创建了工作簿、设置了打印区域,这部分没问题。问题出在你尝试设置横向打印的写法上——openpyxl里的打印方向设置并不是你试过的那些方式,得通过工作表的page_setup属性来操作。
给你修正后的完整可运行代码:
import openpyxl myexcel = openpyxl.Workbook() mysheet = myexcel.active mysheet['A1'] = 'Test' mysheet.print_area = 'A1:Z1' # 正确设置打印方向为横向 mysheet.page_setup.orientation = mysheet.ORIENTATION_LANDSCAPE myexcel.save(r'C:\Temp\Testing.xlsx')
为啥之前的写法不行?
- openpyxl把所有打印相关的配置都放在
page_setup对象里,所以直接写mysheet.orientation或者mysheet.page.orientation都是找不到对应属性的 - 另外,设置方向时推荐使用工作表内置的常量(
ORIENTATION_LANDSCAPE对应横向,ORIENTATION_PORTRAIT对应纵向),而不是直接传字符串(虽然传大写的'LANDSCAPE'也能生效,但用常量更规范,不容易写错)
如果之后还要调整其他打印设置(比如纸张大小、缩放比例),也都是在mysheet.page_setup下面操作哦~
内容的提问来源于stack exchange,提问作者Ellie The Good Dog
相关产品推荐
相关产品推荐

