我生成一個Excel中使用模板,的Python openpyxl無法保存現有的Excel具有定製的列寬
from openpyxl import Workbook
from openpyxl import load_workbook
src_file = 'D:\\code\\TestLink-Report\\pyxl.xlsx'
wb = load_workbook(filename = src_file, guess_types = False)
sheet = wb.worksheets[0]
sheet.cell('A1').value = 'blabla'
wb.save(filename = src_file)
如果SRC_FILE是新的空白之一,它的工作原理。 如果我更改了手動SRC文件的任何列,再次運行代碼的寬度,它失敗
wb.save(filename = src_file)
File "D:\Python27\envs\TestLink\lib\site-packages\openpyxl\workbook.py", line 265, in save
save_workbook(self, filename)
File "D:\Python27\envs\TestLink\lib\site-packages\openpyxl\writer\excel.py", line
187, in save_workbook
writer.save(filename)
File "D:\Python27\envs\TestLink\lib\site-packages\openpyxl\writer\excel.py", line
170, in save
self.write_data(archive)
File "D:\Python27\envs\TestLink\lib\site-packages\openpyxl\writer\excel.py", line
98, in write_data
self._write_worksheets(archive, shared_string_table, self.style_writer)
File "D:\Python27\envs\TestLink\lib\site-packages\openpyxl\writer\excel.py", line
128, in _write_worksheets
style_writer.get_style_by_hash()))
File "D:\Python27\envs\TestLink\lib\site-packages\openpyxl\writer\worksheet.py", line 98, in write_worksheet
write_worksheet_cols(doc, worksheet, style_table)
File "D:\Python27\envs\TestLink\lib\site-packages\openpyxl\writer\worksheet.py", line 209, in write_worksheet_cols
col_def['style'] = str(style_table[hash(columndimension.style_index)])
KeyError: 549131827
我用Excel 2013年 聽說openpyxl計算器上進行搜索後不支持風格結合得很好。但我的問題似乎應該是一件簡單的事情。
openpyxl是1.x的,當我問到這個問題。現在它是2.x並且運作良好。驗證2.4.7版。謝謝 – Cypine