首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用xlutils复制XLS时保留命名范围

使用xlutils复制XLS时保留命名范围
EN

Stack Overflow用户
提问于 2012-10-06 03:11:12
回答 1查看 413关注 0票数 1

我有一些代码,可以用xlrd打开一个Excel工作簿,用xlutils复制它,用xlwt更新它,然后把它写回另一个文件。

生成的工作簿缺少原始工作簿中存在的所有命名区域。我100%确定命名范围存在于原始文件中,因为我实际上是在读取它们(从xlrd对象中,在复制之前),并基于它们进行更新。

假设这是使用xlutils.copy.copy的自然效果,xlwt是否有办法重新创建我从同一工作簿的xlrd版本中读取的命名范围?文档(至少,我能找到的文档)很稀疏。

下面是一个显示问题的python会话:

代码语言:javascript
复制
>>> from xlrd import open_workbook
>>> wb = open_workbook('sc_auction_template.xls', formatting_info=True)
>>> print len(wb.name_obj_list) # see, there are named ranges
9
>>> from xlutils.copy import copy
>>> wb2 = copy(wb)
>>> wb2.save('test.xls')
>>> wb = open_workbook('test.xls')
>>> print len(wb.name_obj_list) # but now there are none!
0
EN

回答 1

Stack Overflow用户

发布于 2013-02-14 12:28:46

不幸的是,现在的答案是noxlwt不支持写名字。也许有一天,但我不期望它在短期内。

据我所知,以编程方式在.xls文件中写入名称的唯一方法是自动化应用程序的运行实例,例如使用pywin32pywinauto的Windows上的Excel本身或某种风格的Visual Basic等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12752617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档