繁体   English   中英

XlsxWriter如何设置开页

[英]XlsxWriter how to set opening sheet

目前我正在使用 XlsxWriter 在 Python 中生成日历。 我创建了一个 Excel 文档,其中包含 52 张(一年中每周一张)。 生成整个文档工作得很好,但打开文档时,它总是在第一张纸上打开(第 1 周)。 我正在尝试将开始表设置为本周。 目前我正在生成我的文档如下:

weeks = 52   # amount of weeks in a year
Excel_sheets = []  # empty list for creating new sheets
path = r"C:/Users/menno/Documents/calender.xlsx"  # location for the excel file

Excel_doc = xlsxwriter.Workbook(path)  # create file at given path

for week in range(weeks):  # loopt through amount of weeks
    Excel_sheets.append(Excel_doc.add_worksheet("Week " + str(week + 1)))  # for every week make a new sheet

所以现在我已经生成了一个包含 52 张纸的 Excel 文件,每一张都命名为“第 1 周”到“第 52 周”。 然后我将数据放入每张表中,最后关闭它。 当我打开文档时,它总是会在第一张纸上打开。 有什么办法可以让它自动在不同的工作表上打开,或者更具体地说,打开生成文件的当前周?

我查看了 XslxWriter 文档,但找不到允许我设置起始表的 function。 如果有人有任何想法,请告诉我。 提前致谢!

我见过的唯一实例是使用openpyxl您可以设置活动工作表:

wb.active = sheetnum

使用xlsxwriter ,您可以将所需的工作表设置为第一张工作表:

sheetname.set_first_sheet()

使用 XlsxWriter,您可以使用工作表activate()方法设置可见工作表。

在 Excel 的某些版本中,激活的工作表可能不在屏幕上(尽管在最新版本中会显示),您可能还必须使用set_first_page()设置第一个可见的工作表。

是这样的:

import xlsxwriter

weeks = 52
Excel_sheets = []
path = r"calender.xlsx"

Excel_doc = xlsxwriter.Workbook(path)

for week in range(weeks):
    Excel_sheets.append(Excel_doc.add_worksheet("Week " + str(week + 1)))

Excel_sheets[19].set_first_sheet()
Excel_sheets[20].activate()

Excel_doc.close()

Output :

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM