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

时间:2018-09-28 10:44:38

标签: python excel openpyxl

我知道调用wb.sheetnames会为每个工作表返回一个名称列表作为字符串,但是我看不到获取当前活动工作表名称的方法。 worksheet module中似乎没有要引用的命名属性。

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

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

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

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