求教!Python有可以读写xlsm的方法吗?求告知!

轮子酱 2019-06-04 12:06:19
如题,尝试了好多办法都无法实现读写修改然后保存一个已有的xlsm文件...请教诸位有啥好办法没?感激不尽!
...全文
2165 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
轮子酱 2019-06-06
  • 打赏
  • 举报
回复
引用 7 楼 萌新自学python中 的回复:
那就只有试试xlwings了……据说有vba全部功能。


我去研究研究!多谢!
  • 打赏
  • 举报
回复
那就只有试试xlwings了……据说有vba全部功能。
轮子酱 2019-06-04
  • 打赏
  • 举报
回复
引用 5 楼 qq_36368489 的回复:
[quote=引用 3 楼 萌新自学python中 的回复:]
[quote=引用 2 楼 qq_36368489 的回复:]
[quote=引用 1 楼 萌新自学python中 的回复:]
openpyxl用了吗?xlsm格式我没处理过,但是文档里写着是支持的。


openpyxl可以读取和修改,但是修改完保存xlsm格式之后会报错文件损坏呢...所以很尴尬[/quote]
是用了宏吗?load的时候keep_vba设置了吗[/quote]

试了一下,内容是保存上了,但是再打开会出现报错:Excel版本16.9(180116),最近一段时间打开Excel的时候总是会提示“发现‘123.xls’中部分内容有问题。是否让我们尽量尝试恢复?...[/quote]

更新一下,恢复然后保存之后,再跑没问题,再跑一遍就会出现报错:
KeyError: "There is no item named 'xl/sharedStrings.xml' in the archive"

更新一下我的代码:

from openpyxl import load_workbook

wb = load_workbook(r'C:\Users\liuhen\Desktop\自动Call Miss项目\Call Miss专用模板 - 副本.xlsm',keep_vba=True)
ws = wb.worksheets[0]
ws.cell(row=4, column=10).value = 456
wb.save(filename=r'C:\Users\liuhen\Desktop\自动Call Miss项目\Call Miss专用模板 - 副本.xlsm')
轮子酱 2019-06-04
  • 打赏
  • 举报
回复
引用 3 楼 萌新自学python中 的回复:
[quote=引用 2 楼 qq_36368489 的回复:]
[quote=引用 1 楼 萌新自学python中 的回复:]
openpyxl用了吗?xlsm格式我没处理过,但是文档里写着是支持的。


openpyxl可以读取和修改,但是修改完保存xlsm格式之后会报错文件损坏呢...所以很尴尬[/quote]
是用了宏吗?load的时候keep_vba设置了吗[/quote]

试了一下,内容是保存上了,但是再打开会出现报错:Excel版本16.9(180116),最近一段时间打开Excel的时候总是会提示“发现‘123.xls’中部分内容有问题。是否让我们尽量尝试恢复?...
轮子酱 2019-06-04
  • 打赏
  • 举报
回复
引用 3 楼 萌新自学python中 的回复:
[quote=引用 2 楼 qq_36368489 的回复:]
[quote=引用 1 楼 萌新自学python中 的回复:]
openpyxl用了吗?xlsm格式我没处理过,但是文档里写着是支持的。


openpyxl可以读取和修改,但是修改完保存xlsm格式之后会报错文件损坏呢...所以很尴尬[/quote]
是用了宏吗?load的时候keep_vba设置了吗[/quote]

对,因为有必须保留的宏...keep_VBA啊,我去看看,不知道还有这么个东西呢!
  • 打赏
  • 举报
回复
引用 2 楼 qq_36368489 的回复:
[quote=引用 1 楼 萌新自学python中 的回复:]
openpyxl用了吗?xlsm格式我没处理过,但是文档里写着是支持的。


openpyxl可以读取和修改,但是修改完保存xlsm格式之后会报错文件损坏呢...所以很尴尬[/quote]
是用了宏吗?load的时候keep_vba设置了吗
轮子酱 2019-06-04
  • 打赏
  • 举报
回复
引用 1 楼 萌新自学python中 的回复:
openpyxl用了吗?xlsm格式我没处理过,但是文档里写着是支持的。


openpyxl可以读取和修改,但是修改完保存xlsm格式之后会报错文件损坏呢...所以很尴尬
  • 打赏
  • 举报
回复
openpyxl用了吗?xlsm格式我没处理过,但是文档里写着是支持的。

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧