Openpyxl未将选项按钮传输到Excel文件

0 投票
1 回答
2802 浏览
提问于 2025-04-18 12:01

我写了一个Python程序,使用了openpyxl模块,这个程序可以上传一个格式化但空白的表单,然后根据数据库里的信息填写这个表单,最后把填写好的表单保存到桌面上。这个表单里还有一些选项按钮和复选框,我打算通过类似下面的方式让程序自动选择它们:

https://superuser.com/questions/385387/how-to-select-radio-buttons-by-cell-value-in-excel

我遇到的问题是,按照现在的程序运行时,新生成的Excel文件里没有选项按钮。

我开始用的文件里已经有这些按钮了,但在程序运行后,它们没有被带到新文件里(我本来想加张图片,但我还没有足够的声望)。

这个文件的布局大致是这样的:

>>> parts = [list of parts]

>>> workbook = load_workbook("report.xlsx")

>>> ws = workbook.get_sheet_by_name("Parts")

>>> for i in range(len(parts)):

>>>>>> Cell_part = ws.cell("A" + str(i))

>>>>>> Cell_part.value = parts[i]

>>> workbook.save("filename")

这些代码和选项按钮没有关系,它们只是用来填充单元格的,运行得很好。我浏览了一下openpyxl的文档,觉得这可能是这个模块的一个限制,但我想问问有没有我遗漏的地方,或者你们有没有什么解决办法。我考虑过使用另一个模块,比如xlrd,但这个程序需要处理.xlsx文件,而xlrd不支持这个格式。

提前感谢大家的帮助。

1 个回答

1

据我所知,按钮需要用VBA来实现。对于处理已有文件时,有一个选项可以保留VBA代码:http://openpyxl.readthedocs.org/en/latest/openpyxl.reader.html#module-openpyxl.reader.excel

撰写回答