HTMLフォームのユーザーからの入力に基づいてExcelワークブックを生成したいと考えています。フォームが送信された後、Pythonスクリプトはファイルを生成してユーザに送信します。私はスプレッドシートを作成するためにxlsxwriterを使用しています。Pythonで生成されたExcel 2007ファイルを処理する
サンプルファイルを作成してリンクを提供することができましたが、メモリ内にファイルを作成してクリーンアップが不要になります。
は私のコードは、ファイルを作成し、私にそれを送りますが、私は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)
が(HTTPS XlsxWriterドキュメント[XlsxWriter(パイソン2)を使用した単純なHTTPサーバ]からも、この例を参照してください答えた後、私が探し続けた://xlsxwriter.readthedocsを.io/example_http_server.html)。 [Python 3の例](https://xlsxwriter.readthedocs.io/example_http_server3.html)もあります。 – jmcnamara