使用python workbook处理excel文件、保存后,再次打开提示:
#发现“新建 Microsoft Excel 工作表.xlsx”中的部分内容有问题。是否让我们尽量尝试恢复?如果您信任此工作簿的源,请单击“是”。
#Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃。
#单击查看修复记录:file:///C:/Users/Administrator/AppData/Local/Temp/error003840_01.xml
经测试隔离原因为:python 库处理excel中文字符内容并保存后,写入的格式化字符操作系统不兼容问题。
1)手动改写保存过的excel,且内容含中文时,用workbook处理保存后,再打开会报错
2)而当excel文件内容仅有英文字符时,则不会报错。
3)因此怀疑和python库对中文字符的处理相关,手动保存、系统自动保存写入的格式,与python库写入的格式,有差异,操作系统不兼容。
解决方案:
用workbook或pandas再打开、保存一次,再次打开不再报错。
代码样例:
test_file = "D:/Test/试试.xlsx" #单元格内容存在中文字符
wb_tar = openpyxl.load_workbook(test_file)
#xxxx处理(可选),之后保存
wb_tar.save(test_file)
#workbook再打开、保存一次(可保留源文件单元格颜色、字体、合并单元格等格式)
wb_tar = o