如何使用openpyxl写入xlsm

时间:2018-03-24 23:04:55

标签: python openpyxl

我正在写这段代码。我的目标是在此excel文件的特定单元格中设置一个值。代码运行正常并且退出时没有错误,但单元格A1保持空白。我该如何解决这个问题?

import openpyxl
wb = load_workbook('Test.xlsm')
ws = wb.worksheets[1]
ws.cell(row=1, column=1).value = 999999
wb.save('Test.xlsm')

2 个答案:

答案 0 :(得分:2)

from openpyxl import Workbook
from openpyxl import load_workbook

wb = load_workbook('Test.xlsm',keep_vba=True)
ws = wb['Sheet1']
ws.cell(row=1,column=1).value = 9999999
wb.save('Test.xlsm')

您需要启用“ keep_vba ​​”,因为您尝试修改.xlsm(启用Excel宏的工作簿),我不知道为什么,但这似乎有效。

wb = load_workbook('Test.xlsm',keep_vba=True)

答案 1 :(得分:0)

wb = load_workbook('Test.xlsm')应该是 wb = openpyxl.load_workbook('Test.xlsm')基于您提供的内容。

另外,你在看表2吗?这条线 wb.worksheets[1]指定工作表2,因为工作表为零索引。