首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Python中创建XLSM文件

如何在Python中创建XLSM文件
EN

Stack Overflow用户
提问于 2020-01-04 06:59:46
回答 3查看 500关注 0票数 0

有没有办法在python中创建一个新的.XLSM文件?(或者)有没有办法在python中从.XLS或.XLSX文件创建.XLSM文件?

代码语言:javascript
复制
from openpyxl import Workbook
wb = Workbook()
wb.save('myExcelFile.xlsm')

我尝试了上面的方法,但它创建了一个不起作用的/损坏的文件。提前感谢:)

EN

回答 3

Stack Overflow用户

发布于 2020-01-04 11:30:41

我对python或openpyxl库一无所知,但这段代码可能会有所帮助,请参阅python评论。我在openpyxl文档的https://openpyxl.readthedocs.io/en/stable/tutorial.html#data-storage中找到的

它说必须保持指定属性keep vba=true

票数 2
EN

Stack Overflow用户

发布于 2020-01-04 15:41:25

有趣的是,今天早些时候我也有同样的问题。我想出了一个答案(一点也不好),但它是有效的。Here是我的帖子,详细介绍了答案,下面是我想出的代码:

代码语言:javascript
复制
from openpyxl import Workbook
from openpyxl import load_workbook

wb = Workbook()
ws = wb.active
ws['A1'] = 42
ws.append([1, 2, 3])
wb.save('new_document.xlsm')
wb1 = load_workbook('new_document.xlsm')
wb2 = load_workbook('new_document.xlsm', keep_vba=True)
wb2.save('new_document.xlsm')
票数 1
EN

Stack Overflow用户

发布于 2020-01-04 16:20:40

@加巴德弱者@塞尔瓦托·阿莱格拉感谢你的回答,感谢:)

I found what I needed here

根据我的需要定制它:

代码语言:javascript
复制
import pandas as pd
filename = 'Name_here' + '.xlsx'
writer = pd.ExcelWriter(filename, engine='xlsxwriter')

filename_macro = 'Name_here' + '.xlsm' 
workbook = writer.book
workbook.filename = filename_macro
workbook.add_vba_project('vbaProject.bin')
writer.save()

(1)这将创建一个新的.xlsm文件

(2)它允许附加包含宏的二进制文件

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

https://stackoverflow.com/questions/59586331

复制
相关文章

相似问题

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