Openpyxl 创建了带有表的 Excel 文件导致文件需要恢复错误

1Qu*_*ion 6 excel python-3.x openpyxl excel-tables

我一直在测试使用 openpyxl 将表添加到工作表中,但是当我尝试打开它时出现以下错误。文件打开,但格式不正确。点击“恢复”后,Excel 报告表 xml 存在问题。有解决方法/修复此问题吗?

在此输入图像描述

在此输入图像描述 我正在使用的代码:

import openpyxl
from openpyxl import Workbook
from openpyxl.worksheet.table import Table, TableStyleInfo

xl_file_name = "new_test.xlsx"
wb = Workbook()
ws = wb.worksheets[0]
ws.title = "Table_Sheet"
headers = ["header1","header2","header3"]
for col in range(1,len(headers)+1):
    for row in range(1,5):
        if row == 1:
            ws.cell(row,col).value = headers[col-1]
        else:
            ws.cell(row,col).value = str(row)

tbl = Table(displayName="Tbl1",ref="A1:C4")
style = TableStyleInfo(name="TableStyleMedium9", showFirstColumn=False, showLastColumn=False, showRowStripes=True, showColumnStripes=True)
tbl.tableStyleInfo = style
ws.add_table(tbl)
wb.save("new_test.xlsx")
Run Code Online (Sandbox Code Playgroud)

小智 5

您的表名导致了问题。displayName="Tbl"使用或运行相同的代码displayName="Tbl_1",您会发现它工作正常。我不是 100% 确定,但我认为问题的原因是您给出的名称与 TBL1 可能的单元格引用的格式冲突。