gpt4 book ai didi

python - 如何以编程方式将简单数据写入复杂的 .xlsm 文档而不破坏它?

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:45 26 4
gpt4 key购买 nike

我有一个非常复杂的 Excel 工作簿,格式为 .xlsm,其中包含宏、命名范围以及所有花里胡哨的东西。我需要将 CSV 文件的内容放入此工作簿中的工作表(已存在)中,从最简单的意义上说:第 1 行第 1 列转到单元格 A1,第 1 行第 2 列转到单元格 A2,依此类推。您可以通过简单的导入或复制粘贴在 Excel 中完成此操作,但我需要以编程方式进行。

我需要使用 Linux 上免费提供的软件(实际上是 CentOS 5,这进一步限制了我的选择,但我们暂时不用担心)来执行此操作。理想情况下,我会使用 ruby​​ 或 Python 库,但此时我对任何东西都持开放态度。

我对 Excel 知之甚少,但这里是我尝试使用 openpyxl(它对我使用更简单的工作簿效果很好)来完成此操作时看到的一些输出:

/opt/python-assessment/lib/python2.7/site-packages/openpyxl/reader/worksheet.py:322: UserWarning: Unknown extension is not supported and will be removed
warn(msg)
/opt/python-assessment/lib/python2.7/site-packages/openpyxl/reader/worksheet.py:322: UserWarning: Data Validation extension is not supported and will be removed
warn(msg)
/opt/python-assessment/lib/python2.7/site-packages/openpyxl/workbook/names/named_range.py:125: UserWarning: Discarded range with reserved name
warnings.warn("Discarded range with reserved name")

我不知道这意味着什么,但结果是 openpyxl 在我尝试编写时破坏了工作簿,即使我没有做了任何改变。我尝试了以下方法:

    Python 中的
  • openpyxl:见上文,似乎可以工作(带有警告)但生成的文件已损坏。
  • roo in ruby​​:这个库能不能写对我来说不是很明显;至少,它似乎主要面向阅读。
  • ruby 中的
  • spreadsheet:尝试打开文件时出现此错误(也许它根本不支持 .xlsm 格式?):/usr/lib/ruby/gems/1.9.2/gems/ruby-ole-1.2.11.8/lib/ole/storage/base.rb:378:in 'validate!': OLE2 签名无效(Ole::Storage: :格式错误)
  • 文件的手动解压缩和破解:模式非常复杂,无法立即明确如何实现我的目标。我仍然认为这可能是最佳选择,但我需要找到更好的引用资料或花更多时间摸索才能取得进展。

在这一点上,我将采用任何看起来很有希望的方法。

最佳答案

我知道 OP 要求在 Linux 上运行的解决方案,但是我在我的 Windows PC 上遇到了类似的问题。

在努力让它与 openpyxl、xlutils 等一起工作之后。我偶然发现了使用 COM 接口(interface)(使用 win32com.client)操作文件的建议。

因此,对于有幸在 Windows 上工作的任何人,请查看下面的链接以开始使用:

http://pythonexcels.com/python-excel-mini-cookbook/

关于python - 如何以编程方式将简单数据写入复杂的 .xlsm 文档而不破坏它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36095712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com