excelwings - 自动修复文件以读取文件

excelwings - repair file automatically to read file

我正在使用 excelwings 来读取 excel 文件。

但是,excel 文件不是我创建的。它是多个部门使用的共享文件,它有一些内置格式等。

所以,我不打扰现有的格式。所以,我只是简单地将数据写入 excel 文件和特定的 sheet.

我把数据写入excel文件后,我用xlwings读取文件。

但是,这会导致错误。

但是当我手动打开 excel 文件时,我收到以下消息。

单击 OK 后,我收到以下消息

单击 Close 后,我的文件名中包含关键字 repaired 并且 excelwings 能够成功读取文件(修复文件后)

sales = xw.Book('format_test.xlsx') # works fine after file repaired

如何抑制或避免此问题并允许 excelwings 读取文件而无需我手动修复文件?

如果我不修复文件并允许 excelwings 读取文件,我会收到以下错误

com_error: (-2147352567, 'Exception occurred.', (0, 'Microsoft Excel', 'Open method of Workbooks class failed', 'xlmain11.chm', 0, -2146827284), None)

Book()中使用corruptload参数:

import xlwings as xw

path = r"test.xlsx"

with xw.App(visible=False) as app:
    app.display_alerts = False
    wb = xw.Book(path, corrupt_load=1)

    wb.close()

您必须使用整数 1 作为 corrupt_load 的参数,参见 documentation and here