如何将Openpyxl生成的xlsx输出到浏览器?

编程入门 行业动态 更新时间:2024-10-11 13:30:49
本文介绍了如何将Openpyxl生成的xlsx输出到浏览器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我正在使用stackoverflow一段时间,它帮助我很多次。现在我有一个问题我无法解决自己或通过搜索。 我正在尝试输出我的浏览器中由openpyxl生成的excel文件,因为我正在使用phpexcel。该方法似乎是一样的,但我只收到破碎的文件。我的代码如下所示:

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\\\' 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版本。 没有任何方法可行。当我从桌面使用它,而不是浏览器它是完美无瑕的。 我将非常感谢您的帮助。

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输出到浏览器?

本文发布于:2023-06-02 01:27:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/430943.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何将   浏览器   Openpyxl   xlsx

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!