如何用 "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')
我想要 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')