Openpyxl - WinError 32 在应用格式后尝试保存工作簿时



当我将格式应用于工作表时,我无法保存工作簿(例如,将row_dimensions设置为整数,或将列维度设置为整数(。

代码片段:

import openpyxl
wb = openpyxl.Workbook()
ws = wb.active
ws['A1'].value = 'test'
ws.row_dimensions[1] = 10
wb.save('example.xlsx')

回溯信息:

Traceback (most recent call last):
File "<>", line 7, in <module>
wb.save('practicewb')
File "C:Program Files (x86)Python37-32libsite-packagesopenpyxlworkbookworkbook.py", line 409, in save
save_workbook(self, filename)
File "C:Program Files (x86)Python37-32libsite-packagesopenpyxlwriterexcel.py", line 294, in save_workbook
writer.save()
File "C:Program Files (x86)Python37-32libsite-packagesopenpyxlwriterexcel.py", line 276, in save
self.write_data()
File "C:Program Files (x86)Python37-32libsite-packagesopenpyxlwriterexcel.py", line 76, in write_data
self._write_worksheets()
File "C:Program Files (x86)Python37-32libsite-packagesopenpyxlwriterexcel.py", line 216, in _write_worksheets
self.write_worksheet(ws)
File "C:Program Files (x86)Python37-32libsite-packagesopenpyxlwriterexcel.py", line 201, in write_worksheet
writer.write()
File "C:Program Files (x86)Python37-32libsite-packagesopenpyxlworksheet_writer.py", line 356, in write
self.write_rows()
File "C:Program Files (x86)Python37-32libsite-packagesopenpyxlworksheet_writer.py", line 124, in write_rows
self.write_row(xf, row, row_idx)
File "C:Program Files (x86)Python37-32libsite-packagesopenpyxlworksheet_writer.py", line 133, in write_row
attrs.update(dims.get(row_idx, {}))
TypeError: 'int' object is not iterable
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "C:Program Files (x86)Python37-32libsite-packagesopenpyxlworksheet_writer.py", line 33, in _openpyxl_shutdown
os.remove(path)
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\Users\philt\AppData\Local\Temp\openpyxl.gtzivgcp'
Process finished with exit code 1

除了 openpyxl 本身之外,我没有打开任何使用该工作簿的文件夹或程序。

这里可能有什么问题?

谢谢!

import openpyxl
wb = openpyxl.Workbook()
ws = wb.active
ws['A1'].value = 'test'
ws.row_dimensions[1].height = 10
wb.save('example.xlsx')

最新更新