Я пытался открыть файл XLSX с помощью модуля openpyxl. Ниже приведен мой сценарий: -
from openpyxl import load_workbook
print "Going to execute the script"
workbook = load_workbook("FileName.xlsx")
worksheet = workbook.get_sheet_by_name("Sheet01")
worksheet['B8'] = "Customer07"
workbook.save("FileName.xlsx")
print "End of script execution"
Когда я выполняю этот скрипт, я получаю следующую ошибку: -
/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/xml/__init__.py:15: UserWarning: The installed version of lxml is too old to be used with openpyxl
warnings.warn("The installed version of lxml is too old to be used with openpyxl")
Going to execute the script
/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/workbook/names/named_range.py:121: UserWarning: Discarded range with reserved name
warnings.warn("Discarded range with reserved name")
Traceback (most recent call last):
File "check.py", line 11, in <module>
workbook.save("FileName.xlsx")
File "/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/workbook/workbook.py", line 296, in save
save_workbook(self, filename)
File "/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/writer/excel.py", line 191, in save_workbook
writer.save(filename, as_template=as_template)
File "/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/writer/excel.py", line 174, in save
self.write_data(archive, as_template=as_template)
File "/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/writer/excel.py", line 85, in write_data
self._write_worksheets(archive)
File "/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/writer/excel.py", line 111, in _write_worksheets
write_worksheet(sheet, self.workbook.shared_strings,
File "/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/writer/worksheet.py", line 299, in write_worksheet
xf.write(comments)
File "/usr/lib/python2.6/contextlib.py", line 34, in __exit__
self.gen.throw(type, value, traceback)
File "/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/xml/xmlfile.py", line 42, in element
yield
File "/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/writer/worksheet.py", line 276, in write_worksheet
hf = write_header_footer(worksheet)
File "/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/writer/worksheet.py", line 172, in write_header_footer
header = worksheet.header_footer.getHeader()
File "/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/worksheet/header_footer.py", line 150, in getHeader
t.append(self.left_header.get())
File "/usr/lib/python2.6/site-packages/openpyxl-2.2.0-py2.6.egg/openpyxl/worksheet/header_footer.py", line 90, in get
t.append('&%d' % self.font_size)
TypeError: %d format: a number is required, not str
И после этого, когда я открываю «FileName.xlsx», появляется всплывающее окно с сообщением «Excel обнаружил нечитаемый комментарий в« FileName.xlsx ». Вы хотите восстановить содержимое этой книги? Если вы доверяете источнику этой книги , нажмите "да". Независимо от того, какую кнопку я нажимаю, рабочая книга пуста.
Если я прокомментирую следующую строку в скрипте,
workbook.save("FileName.xlsx")
скрипт работает без ошибок, но изменения не сохраняются в книге. Пожалуйста, помогите мне с этим.