在python中向excel电子表格添加数据时丢失宏

时间:2015-06-11 09:43:21

标签: python excel

我正在尝试为Web项目生成报告。报告要求我使用数据填写excel电子表格,然后运行宏来生成详细信息。

使用以下代码

   from xlrd import open_workbook
   from xlutils.copy import copy
   import StringIO

   contents=open_workbook("filename.xls")
   cloneContents = copy(contents)

   #code for adding data to cloneContents here
   stream = StringIO()
   cloneContents.save(stream)

   #this is from a web app so this is stream sent to the user to download
   return stream

这一切都正常,但克隆文件似乎丢失了所有宏。我浏览过其他解决方案,但我能看到的唯一一个涉及实际加载excel中的文件,我无法做到,因为这是一个linux服务器。有没有人有任何想法可以做什么? 感谢

1 个答案:

答案 0 :(得分:0)

使用xlrd和xlutils无法做到这一点。

但可以使用此分支完成 https://bitbucket.org/amorris/openpyxl/overview of openpyxl。

关键字是contents = load_workbook('filename.xlsm', keep_vba = True);