Код: Выделить всё
#!/usr/bin/env python
import os,sys
import io
import openpyxl
print("Content-Type: application/octet-stream; name = test.xlsx")
print("Content-Disposition: attachment; filename = test.xlsx\n")
wb = openpyxl.Workbook()
ws = wb.active
ws['A1'] = "hello"
ws['A2'] = "there!"
output = io.BytesIO()
wb.save(output)
print(output.getvalue())
< /code>
Полученный файл на диске начинается следующим образом: < /p>
b'PK\x03\x04\x14\x00\x00\x00\x08\x00Tu\xd0T\x07AMb....
< /code>
Файлы XLS сжаты на молнии - и это выглядит как сегмент сжатого файла. Проблема в том, что я не уверен, как написать его как двоичный файл, который Excel сможет открыть. < /P>
Я попробовал: < /p>
print(output.getvalue().decode('utf-8'))
< /code>
Проблема в том, что я в конечном итоге: < /p>
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 10: invalid continuation byte
Подробнее здесь: https://stackoverflow.com/questions/726 ... -xlsx-file