Я ищу, чтобы сгенерировать книгу Excel на основе ввода от пользователей в HTML-форме. После отправки формы скрипт Python сгенерирует файл и отправит его пользователю. Я использую xlsxwriter для создания электронной таблицы.Служить Excel 2007 файл, созданный Python
Я смог создать образец файла, а затем предоставить ссылку на него, но я хочу создать файл в памяти, чтобы не было очистки.
Мой код создает файл и отправляет его на меня, но когда я пытаюсь открыть его в Excel, я получаю сообщение о том,
Excel найти не удается прочитать содержимое «sample.xlsx». Вы хотите восстановить содержание этой книги? Если вы доверяете источнику этой книги, нажмите «Да».
Если я нажму «да», я получу чистый лист. Если я открою его в текстовом редакторе, я вижу, что файл не пуст; файл размером 6k. Нужно ли мне менять свой контент? Или сделать некоторые другие изменения?
#!/Temp/Python27/python
import io
from sys import stdout
import xlsxwriter
output = io.BytesIO()
workbook = xlsxwriter.Workbook(output)
worksheet = workbook.add_worksheet()
worksheet.write(1, 1, 'Hello, world!')
workbook.close()
contents = output.getvalue()
output.close()
print('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\nContent-Disposition:attachment; filename="sample.xlsx"\n')
print (contents)
Смотрите также этот пример из XlsxWriter документации [Простой HTTP-сервер с XlsxWriter (Python 2)] (https: //xlsxwriter.readthedocs .io/example_http_server.html). Существует также [пример Python 3] (https://xlsxwriter.readthedocs.io/example_http_server3.html). – jmcnamara