python openpyxl 设置excel缩放比例
功能需求
由于excel数据较多,电脑显示器使用100%比例显示不全,想在生成excel时缩小其显示比例来使用一页显示全部数据,
经历
在百度找来找去都没有该方法的示例,但是觉得这么重要的属性openpyxl 肯定是有实现的,于是就去搜索源码
- 尝试了几个关键字,发现zoomScale搜索到的信息比较符合

- 然后顺藤摸瓜找到worksheet里的属性views 与worksheet.views里的类SheetView中的属性zoomScale相关,然后就可以开始尝试赋值去测试了
SheetViewList的源码就包含了SheetView
class SheetViewList(Serialisable):tagname = "sheetViews"sheetView = Sequence(expected_type=SheetView, )extLst = Typed(expected_type=ExtensionList, allow_none=True)__elements__ = ('sheetView',)def __init__(self,sheetView=None,extLst=None,):if sheetView is None:sheetView = [SheetView()]self.sheetView = sheetView
- 简单的尝试了几次之后就实现了该功能
from openpyxl import load_workbookexcel = load_workbook("../demo.xlsx", data_only=False)ws = excel.active
ws.views.sheetView[0].zoomScale = 50excel.save("./test.xlsx")

备注: openpyxl 版本:3.0.3 python:3.7
openpyxl后续版本可能会直接提供设置缩放比例的属性方便使用
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
