XlsxWriter如何设置开启sheet

XlsxWriter how to set opening sheet

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

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 sheet 的 Excel 文件,每个文件都命名为“第 1 周”到“第 52 周”。然后我将数据放入每个 sheet 中,最后关闭它。当我打开文档时,它将始终在第一个 sheet 上打开。有什么方法可以让它在不同的 sheet 自动打开,或者更具体地说,打开生成文件的当前周?

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

我见过的唯一例子是 openpyxl 您可以设置活动 sheet:

wb.active = sheetnum

使用 xlsxwriter 您可以将所需的 sheet 设置为第一个 sheet:

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()

输出: