我在python上开发web应用程序。 但是客户想要一个将当前页面导出为excel的工具。 所以我不得不在每个页面(视图)中编写一个额外的代码,使用xlwt(python模块)将表转换为excel。
但我有更好的解决方案。它将当前页面的内容html发送到服务器,服务器将这个html表作为excel类型响应。 像这样:
response['Content-Type'] = 'application/vnd.ms-excel; charset=utf-8'
Response.ContentType = "application/vnd.ms-excel"
这非常有效。但我很好奇每个浏览器是否支持这个excel响应!?!?!
如果不是,那对我来说将是一个大问题:(
如果客户端计算机上只安装了MS Excel或OpenOffice,浏览器是否支持它?
任何其他“全球”解决方案或想法?
答案 0 :(得分:2)
像这样设置内容类型是通知客户端文档具有特定类型 - 从某种意义上说,当你实际上是在告诉它你正在发送Excel电子表格时,你正在向浏览器说谎发送一个HTML文档。这样做的结果是浏览器会尝试打开它,就像它是一个Excel电子表格一样,并且由于Excel知道如何导入HTML,它就“有效” - 正如您所发现的那样。
如果客户端没有配置Excel或其他配置为打开Excel文档的软件,浏览器可能会提供保存文档。无论如何,它不会神奇地将其显示为电子表格。我不确定你还有什么期望?
答案 1 :(得分:1)
将其正确转换为实际的Excel文件肯定是最好的方法。
那说,如果
“伪造HTML为Excel”方法应该可以正常工作。我从来没有尝试过在OpenOffice中打开一个掩盖为XML的HTML文件 - 你应该尝试一下,看看它对它做了什么。