所有浏览器都支持excel响应吗?

时间:2011-06-15 08:47:21

标签: python html web-applications browser

我在python上开发web应用程序。 但是客户想要一个将当前页面导出为ex​​cel的工具。 所以我不得不在每个页面(视图)中编写一个额外的代码,使用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,浏览器是否支持它?

任何其他“全球”解决方案或想法?

2 个答案:

答案 0 :(得分:2)

像这样设置内容类型是通知客户端文档具有特定类型 - 从某种意义上说,当你实际上是在告诉它你正在发送Excel电子表格时,你正在向浏览器说谎发送一个HTML文档。这样做的结果是浏览器会尝试打开它,就像它是一个Excel电子表格一样,并且由于Excel知道如何导入HTML,它就“有效” - 正如您所发现的那样。

如果客户端没有配置Excel或其他配置为打开Excel文档的软件,浏览器可能会提供保存文档。无论如何,它不会神奇地将其显示为电子表格。我不确定你还有什么期望?

答案 1 :(得分:1)

将其正确转换为实际的Excel文件肯定是最好的方法。

那说,如果

  • 您为文件名提供.XLS扩展名
  • 发送正确的MIME类型
  • Excel或用于处理XLS文件的其他程序已安装在用户的计算机上

“伪造HTML为Excel”方法应该可以正常工作。我从来没有尝试过在OpenOffice中打开一个掩盖为XML的HTML文件 - 你应该尝试一下,看看它对它做了什么。

相关问题