P.S。请不要告诉我使用其他语言或程序会更容易。我需要用python解决这个问题。
解决方案这对我来说是有效的。我从烧瓶中使用 python 2.7 和最新的 openpyxl 和 send_file
...代码... import StringIO from openpyxl import Workbook wb = Workbook() ws = wb.active#工作表 ws.title =使用Openpyxl的Excelc = ws.cell(row = 5,column = 5) c.value =Hi on 5,5 out = StringIO.StringIO() wb.save(out) out.seek(0) return send_file(out,mimetype ='application / vnd.openxmlformats-officedocument.spreadsheetml.sheet', attachment_filename ='xxl.xlsx',as_attachment = True)
I was using stackoverflow for a while now and it helped me very often. Now I have a problem I couldn't solve myself or through searching. I'm trying to output my excel file generated by openpyxl in browser as I was doing it with phpexcel. The method appears to be the same, but I only get broken file. My code looks like this:
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)I use the version 1.5.8 and python 2.7. None of the approaches works. When I just use it from desktop and not browser it works flawlessly. I would be very thankful for help.
P.S. please don't tell me that using other language or program would be easier. I need to solve this with python.
解决方案this is work for me. I use python 2.7 and latest openpyxl and send_file from flask
... code ... import StringIO from openpyxl import Workbook wb = Workbook() ws = wb.active # worksheet ws.title = "Excel Using Openpyxl" c = ws.cell(row=5, column=5) c.value = "Hi on 5,5" out = StringIO.StringIO() wb.save(out) out.seek(0) return send_file(out, mimetype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', attachment_filename='xxl.xlsx', as_attachment=True)
更多推荐
如何将Openpyxl生成的xlsx输出到浏览器?
发布评论