如何用 "python" 得到代号为 属性 的 excel sheet

How get a excel sheet with its code name property with "python"

我想要 Excel 的 sheet 和 Python。我可以使用 sheet 的名称来执行此操作,但我想使用其代号 属性 来获取它。以下是使用 sheet 的名称的代码:

from openpyxl import load_workbook

wb_donnees = load_workbook("Données.xlsm", read_only = True)
name_ws_1 = wb_donnees.get_sheet_name()[0]
ws_1 = wb_donnees[name_ws_1]

但我想获得代号为 属性 的 sheet。可能吗?

只有当文件未以只读模式打开时,以下内容才有效:

from openpyxl import load_workbook
wb = load_workbook("Données.xlsm")
for n in wb.sheetnames:
    ws = wb[n]
    print(n, ws.sheet_properties.codeName)

查理克拉克的回答在阅读模式下对我有用。

我不确定 OP 是否需要这个,但是当编写 一个新的工作簿时,您无法通过这种方式获取代号。相反,您需要自己指定它,否则函数 returns None 和工作表在创建工作簿时只会被代号为 'Sheet1' 等。

wb = load_workbook('input.xlsm')
wsx = wb.create_sheet('New Worksheet')
wsx.sheet_properties.codeName = 'wsx'

wb.save('output.xlsm')