python openpyxl 设置excel缩放比例

功能需求

由于excel数据较多,电脑显示器使用100%比例显示不全,想在生成excel时缩小其显示比例来使用一页显示全部数据,

经历

在百度找来找去都没有该方法的示例,但是觉得这么重要的属性openpyxl 肯定是有实现的,于是就去搜索源码

  1. 尝试了几个关键字,发现zoomScale搜索到的信息比较符合
    在这里插入图片描述
  2. 然后顺藤摸瓜找到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
  1. 简单的尝试了几次之后就实现了该功能
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后续版本可能会直接提供设置缩放比例的属性方便使用


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部