我知道调用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
答案 0 :(得分:3)
工作簿实例(wb)具有active
属性...您可以使用它来获取活动的工作表
答案 1 :(得分:0)
我浏览了 openpyxl.worksheet.worksheet.Worksheet.__init__.py
的源代码
您可以看到它具有 title
属性。
例如要获取活动工作表的名称,您必须这样做:
>>> sheet = workbook.active
>>> sheet.title
"sheet 1"