openpyxl 设置excel缩放比例

功能需求

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

经历

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

  1. 尝试了几个关键字,发现zoomScale搜索到的信息比较符合
    openpyxl 设置excel缩放比例_第1张图片
  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_workbook

excel = load_workbook("../demo.xlsx", data_only=False)

ws = excel.active
ws.views.sheetView[0].zoomScale = 50

excel.save("./test.xlsx")

openpyxl 设置excel缩放比例_第2张图片

你可能感兴趣的:(python-excel)