python xlsxwriter flaskでの使用

917 ワード

flask Webプロジェクトにexcelをエクスポートする機能を追加するには、次のいくつかの問題を解決します.
  • メモリにデータを生成し、一時ファイル
  • を使用しない.
  • はバイナリデータを返し、添付ファイルとしてクライアントに
  • をダウンロードさせる.
  • excelセルへのハイパーリンクの追加、幅の設定など
  • .
  • メモリにデータを生成し、一時ファイル
  • を使用しない.
    import xlsxwriter
    import StringIO
    output = StringIO.StringIO()
    workbook = xlsxwriter.Workbook(output, {'in_memory': True})

    StringIOで目的を達成
    2.バイナリデータを返し、添付ファイルとしてクライアントにダウンロードさせる
    workbook.close()
    output.seek(0)
    return send_file(output, mimetype="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", as_attachment=True, attachment_filename='file.xlsx')

    いくつかのキー:close()に注意してください.そうしないと、データはoutputにflushされないようです.flaskでsend_file
    3.excelセルへのハイパーリンクの追加、幅の設定など
    worksheet.write_row     
    worksheet.write_url       
    worksheet.set_column(4, 4, width=60)      

    Happy coding to you (^_^)