如何获取 Openpyxl 中当前活动工作表的名称

Nor*_*dle 2 python excel openpyxl

我知道调用wb.sheetnames返回每个工作表的字符串形式的名称列表,但是我看不到获取当前活动工作表的名称的方法。工作表模块中似乎没有可供引用的命名属性。

A1作为一个基本示例,我想将工作簿中每个工作表的工作表名称写入 cell ;

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?
Run Code Online (Sandbox Code Playgroud)

或者是否需要使用该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
Run Code Online (Sandbox Code Playgroud)

小智 6

我浏览了源代码,openpyxl.worksheet.worksheet.Worksheet.__init__.py 您可以看到它具有该title属性。

例如,要获取活动工作表的名称,您必须执行以下操作:

>>> sheet = workbook.active
>>> sheet.title
"sheet 1"
Run Code Online (Sandbox Code Playgroud)
  • 其中“sheet 1”是活动工作表的名称。