首页 > 解决方案 > 使用 OPENPYXL 写入现有 xlsm 文件时出错-> xml.etree.ElementTree.ParseError: mismatched tag: line 42, column 8

问题描述

我想将值写入/更改现有 xlsm 文件的单个单元格(我们称之为 filename.xlsm),维护原始 xlsm 文件的所有宏和属性。

filename.xlsm 有几张纸。我希望在工作表“Sup”的单元格 E3 中写入值 4。

我收到错误“xml.etree.ElementTree.ParseError: mismatched tag: line 42, column 8”

Python代码

import pandas as pd 
import numpy as np
import openpyxl

InputExcelfile = openpyxl.load_workbook('filename.xlsm', keep_vba=True)

sup_sheet = InputExcelfile['Sup']

sup_sheet['E3'] = 4

InputExcelfile.save('filename.xlsm')

我尝试删除几张纸以查看错误是否消失,但这仅发生在这张纸上。

运行程序并收到错误后,我尝试访问 Excel 并收到错误:

Excel 错误信息

帮助将不胜感激。

非常感谢。

标签: pythonexcelvbaopenpyxlxlsm

解决方案


推荐阅读