私はしばらくスタックオーバーフローを使用していましたが、非常に頻繁に役立ちました。今、私は自分自身でも検索しても解決できなかった問題を抱えています。phpexcelで行っていたように、openpyxlによって生成されたExcelファイルをブラウザで出力しようとしています。方法は同じようですが、壊れたファイルしか取得できません。私のコードは次のようになります。
from openpyxl.workbook import Workbook
from openpyxl.writer.excel import ExcelWriter
from openpyxl.writer.excel import save_virtual_workbook
from openpyxl.cell import get_column_letter
from StringIO import StringIO
print 'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
print 'Content-Disposition: attachment;filename="results.xlsx"'
print 'Cache-Control: max-age=0\n'
output = StringIO()
wb = Workbook()
ws = wb.worksheets[0]
ws.cell('A1').value = 3.14
wb.save(output)
print output.getvalue()
#print save_virtual_workbook(wb)
バージョン 1.5.8 と python 2.7 を使用しています。どのアプローチも機能しません。ブラウザではなくデスクトップから使用すると、問題なく動作します。助けてくれてとても感謝しています。
PS 他の言語やプログラムを使用する方が簡単だとは言わないでください。これをpythonで解決する必要があります。