我试图在复杂的Excel工作簿上做一些工作,该工作簿包含大量已使用名称框功能创建和使用的变量。有关示例/详细信息,请参见附图。 我想存储或更改DeathRate或者读取所有名称框,并在Excel外部的单元格名称和位置之间创建字典。 我在Python中使用win32com库,但我想我可以切换到另一个Excel阅读器,只要它能处理XLSX文件。 有人曾经遇到过这个吗?
答案 0 :(得分:0)
找到解决方案,请参阅以下代码:
import os
from win32com.client import Dispatch #win32com is based around cells beginning at one.
app_xl = Dispatch("Excel.Application")
WORKING_DIR = os.getcwd()
excelPath = WORKING_DIR + "\SampleModel.xls"
wb = app_xl.Workbooks.Open(excelPath)
# Get Named Boxes
name_box_list = [x for x in app_xl.ActiveWorkbook.Names]
name_box_map = {x.Name:x.Value for x in name_box_list}
print name_box_list
print name_box_map
# Change Named Boxes
name_box_list[0].Name = u'NewName'
name_box_list[0].Value = u'=model!$B$5'
name_box_map = {x.Name:x.Value for x in name_box_list}