如何在Openpyxl中获取当前活动sheet的名称

How to get the name of the currently active sheet in Openpyxl

我知道调用 wb.sheetnames returns 每个 sheet 的名称列表作为字符串,但是我看不到获取当前活动名称的方法 sheet. worksheet module 中似乎没有命名属性可供参考。

作为一个基本示例,我想将 sheet 的名称写入单元格 A1,对于工作簿中的每个 sheet;

wb = openpyxl.load_workbook(filepath)
for sheet in wb.sheetnames:
    ws.insert_rows(1)
    ws.cell(row=1, column=1).value = sheet.name << Can I reference the active sheetname here with something similar?

或者是否需要使用 wb.sheetnames 方法并迭代每个方法;

wb = openpyxl.load_workbook(filepath)
    names = [sheet for sheet in wb.sheetnames]
    i = 0
    for sheet in wb.sheetnames:
        ws.insert_rows(1)
        ws.cell(row=1, column=1).value = names[i]
        i += 1

工作簿实例 (wb) 具有 active 属性...您可以使用它来获取活动工作表

我研究了 openpyxl.worksheet.worksheet.Worksheet.__init__.py 的源代码 您可以看到它具有 title 属性。

例如,要获取活动作品的名称sheet,您必须这样做:

>>> sheet = workbook.active
>>> sheet.title
"sheet 1"
  • 其中“sheet 1”是活动名称sheet。