无法保存同名Excel工作簿文件

问题描述 投票:0回答:0

[与未回答相关的问题:https://stackoverflow.com/questions/72364144/python-3-8-0-xlwings-save-fails-on-windows-7/75775612#75775612]

我正在使用 Xlwings Python 包打开现有的 Excel 文件,写入,关闭并使用 same 名称保存它(即覆盖原始文件)。

这是我的代码片段:

import xlwings as xw

excel_file = "C:\\Working Drive\\Automation Scripts\\my_file.xlsx"
with xw.App(visible=True) as app:
    wb = app.books.open(excel_file)
    ws = wb.sheets['MySheet']
    # write into some cells...
    wb.save(excel_file)
    wb.close()

根据需要打开 Excel 文件,并根据代码在其中进行修改。我什至可以看到 Excel 弹出窗口显示“文件保存”和文件路径。一旦保存似乎完成(即 excel 弹出窗口上的进度条到达末尾),我的代码崩溃并在 wb.save() 行显示以下错误。

Traceback (most recent call last):
  File "test.py", line 30, in <module>
    wb.save(excel_file)
  File "C:\Users\XXX\AppData\Local\Programs\Python\Python38\lib\site-packages\xlwings\main.py", line 1147, in save
    self.impl.save(path, password=password)
  File "C:\Users\XXX\AppData\Local\Programs\Python\Python38\lib\site-packages\xlwings\_xlwindows.py", line 847, in save
    self.xl.SaveAs(
  File "C:\Users\XXX\AppData\Local\Programs\Python\Python38\lib\site-packages\xlwings\_xlwindows.py", line 1-9, in __call__
    v = self.__method(*args, **kwargs)
  File "C:\Users\XXX\AppData\Local\Temp\gen_py\3.8\00020813-0000-0000-C000-000000000046x0x1x9.py", line 45271, in SaveAs
    return self._oleobj_.InvokeTypes(3174, LCID, 1, (24, 0), ((12, 17), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17), (3, 49), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17)),Filename
pywintypes.com_error: (-214735267, 'Exception Occured', (0, "Microsoft Excel", "Cannot access 'my_file.xlsx'.", 'xlmain11.chm', 0, -2146827284), None)

我尝试在同一目录中以不同名称保存相同的文件并且它有效

wb.save("C:\Working Drive\Automation Scripts\my_file_1.xlsx")

我尝试在所有路径上使用

os.path.normpath()
,但问题仍然存在。

python xlwings
© www.soinside.com 2019 - 2024. All rights reserved.