无法在openpyxl Python中保存excel电子表格

2024-10-03 09:12:29 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在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,它将创建一个新文件并为我保存它

因此,问题只是将我所在的当前工作簿保存为其本身

提前谢谢大家。非常感谢


Tags: inpytestobjsavelinexlsxusers
1条回答
网友
1楼 · 发布于 2024-10-03 09:12:29

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

相关问题 更多 >