【问题标题】:Cant save excel spread sheet in openpyxl - Python无法在openpyxl中保存excel电子表格 - Python
【发布时间】:2020-06-11 07:40:59
【问题描述】:

当我在 openpyxl 中时,我无法保存我正在处理的活动文件。

wb_obj =  load_workbook(filename="C:\\Users\\timde\PycharmProjects\\starshipit\\test.xlsx", read_only=False)
sheet_obj = wb_obj.active
sheet_obj.cell(row=2, column=10).value = 500
wb_obj.save("test.xlsx")

我收到了这个错误

 File "C:/Users/timde/PycharmProjects/starshipit/writeback_to_sheet.py", line 22, in <module>
    write_back()
  File "C:/Users/timde/PycharmProjects/starshipit/writeback_to_sheet.py", line 15, in write_back
    wb_obj.save("test.xlsx")
  File "C:\Users\timde\PycharmProjects\starshipit\venv\lib\site-packages\openpyxl\workbook\workbook.py", line 392, in save
    save_workbook(self, filename)
  File "C:\Users\timde\PycharmProjects\starshipit\venv\lib\site-packages\openpyxl\writer\excel.py", line 291, in save_workbook
    archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True)
  File "C:\Users\timde\AppData\Local\Programs\Python\Python38-32\lib\zipfile.py", line 1251, in __init__
    self.fp = io.open(file, filemode)
PermissionError: [Errno 13] Permission denied: 'test.xlsx'

但是如果我将文件名更改为 test1.xlsx 它会创建一个新文件并为我保存。

所以问题只是保存我所在的当前工作簿本身

提前谢谢大家。非常感谢

【问题讨论】:

  • 您可能在 excel 中打开了该文件。 Windows 应用程序通常会在打开文件时锁定文件。如果是这种情况并且在 excel 中关闭文件有效,我会发布一个详细的答案供您接受。
  • 您好,是的,就是这样。非常感谢。很抱歉这么简单的问题 - 我对此很陌生。感谢您的帮助
  • 没问题。很快就会发布答案

标签: python openpyxl


【解决方案1】:

MS Office 应用程序通常会对其打开的文件进行写锁定。由于您在 Excel 中打开了工作簿,因此 Python 将无法打开同一个工作簿。这表现为您所看到的PermissionError。简单的解决方案是当您想在其他地方使用该文件时,在 Excel 中关闭该文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多