有没有办法使用 Python 将数据保存在命名的 Excel 单元格中?

Is there a way to save data in named Excel cells using Python?

我在 Python 代码中使用 openpyxl 输出 Excel 中的值。但是,现在我发现自己处于 excel 文件中的单元格位置可能会根据用户而变化的情况。为了避免程序出现任何问题,我想命名代码可以将输出保存到的单元格。有什么方法可以让 Python 与 Excel 中的命名范围交互?

为工作簿级别定义名称

import openpyxl
wb = openpyxl.load_workbook("c:/tmp/SO/namerange.xlsx")
ws = wb["Sheet1"]

mycell = wb.defined_names['mycell']

for title, coord in mycell.destinations:
    ws = wb[title]
    ws[coord] = "Update"    

wb.save('updated.xlsx')
print("{} {} updated".format(ws,coord))

我能够使用 defined_names 找到指定范围的参数。之后,我就像正常的 Excel 电池一样工作。

from openpyxl import load_workbook

openWB=load_workbook('test.xlsx')

rangeDestination = openWB.defined_names['testCell']
print(rangeDestination)
sheetName=str(rangeDestination.attr_text).split('!')[0]
cellName = str(rangeDestination.attr_text).split('!')[1]

sheetToWrite=openWB[sheetName]
cellToWrite=sheetToWrite[cellName]
sheetToWrite[cellName]='TEST-A3'
print(sheetName)
print(cellName)

openWB.save('test.xlsx')
openWB.close()