有没有办法使用python修改现有的xlsm文件?

时间:2019-05-17 19:12:11

标签: python excel vba openpyxl

我有一个xlsm文件,并且遇到过各种方法,可以使用openpyxl或xlw创建一个新文件来修改该文件。有什么方法可以修改当前文件,而不必在过程中每次都创建一个新文件?

from openpyxl import workbook
wb = openpyxl.load_workbook(filename = 'filename', read_only =    False, keep_vba = True)
sheet = wb.get_sheet_by_name('UI')
wb.save('outfile.xlsm')

但是,我不想每次运行代码时都想创建一个新文件,而只想修改当前文件,但是openpyxl与.xlsm类型的文件不兼容吗?

有什么办法吗?

1 个答案:

答案 0 :(得分:0)

OpenPyXL 2.6.2不支持xlsm文件。只需覆盖您现有的工作簿即可。

import openpyxl
wb = openpyxl.load_workbook(filename = 'filename.xlsm', read_only = False, keep_vba = True)
sheet = wb['UI']
wb.save('filename.xlsm')