Plugin crashes at XLSX output when KiCad fields contain unicode encoded content, e.g. Polish language diacritics.
When generating CVS, TVS, and HTML outputs with unicode works fine.
Log with errors when generating XLSX output when fields contain unicode:
`
Run command:
python "C:_KiCad\KiBoM/KiBOM_CLI.py" "-v" "-d_BOM" "C:_KiCad\KiBoM\test\kibom-test.xml" "C:/_KiCad/KiBoM/test/kibom-test.xlsx"
Error messages:
Traceback (most recent call last):
File "C:_KiCad\KiBoM/KiBOM_CLI.py", line 28, in
main()
File "C:_KiCad\KiBoM/kibom/main.py", line 247, in main
result = writeVariant(input_file, output_dir, output_file, variant, pref)
File "C:_KiCad\KiBoM/kibom/main.py", line 149, in writeVariant
return WriteBoM(output_file, groups, net, columns.columns, preferences)
File "C:_KiCad\KiBoM/kibom/bom_writer.py", line 78, in WriteBoM
if WriteXLSX(filename, groups, net, headings, prefs):
File "C:_KiCad\KiBoM/kibom/xlsx_writer.py", line 142, in WriteXLSX
workbook.close()
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/workbook.py", line 320, in close
self._store_workbook()
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/workbook.py", line 685, in _store_workbook
xml_files = packager._create_package()
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/packager.py", line 143, in _create_package
self._write_shared_strings_file()
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/packager.py", line 287, in _write_shared_strings_file
sst._assemble_xml_file()
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/sharedstrings.py", line 54, in _assemble_xml_file
self._write_sst_strings()
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/sharedstrings.py", line 84, in _write_sst_strings
self._write_si(string)
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/sharedstrings.py", line 122, in _write_si
self._xml_si_element(string, attributes)
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/xmlwriter.py", line 122, in _xml_si_element
self.fh.write("""<t%s>%s""" % (attr, string))
File "C:\Program Files\KiCad\lib\python2.7/codecs.py", line 708, in write
return self.writer.write(data)
File "C:\Program Files\KiCad\lib\python2.7/codecs.py", line 369, in write
data, consumed = self.encode(object, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 17: ordinal not in range(128)
`
Plugin crashes at XLSX output when KiCad fields contain unicode encoded content, e.g. Polish language diacritics.
When generating CVS, TVS, and HTML outputs with unicode works fine.
Log with errors when generating XLSX output when fields contain unicode:
` Run command: python "C:_KiCad\KiBoM/KiBOM_CLI.py" "-v" "-d_BOM" "C:_KiCad\KiBoM\test\kibom-test.xml" "C:/_KiCad/KiBoM/test/kibom-test.xlsx"
Command error. Return code 1 Info messages: KiBOM version 1.8.0 Output directory: 'C:_KiCad\KiBoM\test_BOM' Input: C:_KiCad\KiBoM\test\kibom-test.xml Configuration file: C:_KiCad\KiBoM\test\bom.ini PCB variant: default Saving BOM File: C:_KiCad\KiBoM\test_BOM\kibom-test_bom_A.xlsx
Error messages: Traceback (most recent call last): File "C:_KiCad\KiBoM/KiBOM_CLI.py", line 28, in
main()
File "C:_KiCad\KiBoM/kibom/main.py", line 247, in main
result = writeVariant(input_file, output_dir, output_file, variant, pref)
File "C:_KiCad\KiBoM/kibom/main.py", line 149, in writeVariant
return WriteBoM(output_file, groups, net, columns.columns, preferences)
File "C:_KiCad\KiBoM/kibom/bom_writer.py", line 78, in WriteBoM
if WriteXLSX(filename, groups, net, headings, prefs):
File "C:_KiCad\KiBoM/kibom/xlsx_writer.py", line 142, in WriteXLSX
workbook.close()
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/workbook.py", line 320, in close
self._store_workbook()
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/workbook.py", line 685, in _store_workbook
xml_files = packager._create_package()
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/packager.py", line 143, in _create_package
self._write_shared_strings_file()
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/packager.py", line 287, in _write_shared_strings_file
sst._assemble_xml_file()
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/sharedstrings.py", line 54, in _assemble_xml_file
self._write_sst_strings()
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/sharedstrings.py", line 84, in _write_sst_strings
self._write_si(string)
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/sharedstrings.py", line 122, in _write_si
self._xml_si_element(string, attributes)
File "C:\Program Files\KiCad\lib\python2.7\site-packages/xlsxwriter/xmlwriter.py", line 122, in _xml_si_element
self.fh.write("""<t%s>%s """ % (attr, string))
File "C:\Program Files\KiCad\lib\python2.7/codecs.py", line 708, in write
return self.writer.write(data)
File "C:\Program Files\KiCad\lib\python2.7/codecs.py", line 369, in write
data, consumed = self.encode(object, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 17: ordinal not in range(128)
`