2011-06-15 107 views
0

我正在开发Python应用程序。 但客户需要一个将当前页面导出为ex​​cel的工具。 所以我不得不在每个页面(视图)中使用xlwt(python模块)将表格转换为excel。是否所有的浏览器都支持excel响应?

但我有一个更好的解决方案。它将当前页面的内容html发送给服务器,服务器将以excel类型响应此html表格。 像这样:

response['Content-Type'] = 'application/vnd.ms-excel; charset=utf-8' 
Response.ContentType = "application/vnd.ms-excel" 

这个效果很好。但我很好奇每个浏览器是否支持这个excel回应!?!?!

如果没有这将是一个很大的问题,以我:(

还是你的浏览器支持它,如果安装在客户端计算机上仅MS Excel或OpenOffice?

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

+0

所以...你发送的HTML,但称它为Excel文件? – 2011-06-15 08:50:10

+2

看起来你有一个大问题! – 2011-06-15 08:52:45

+0

是的HTML表 – jargalan 2011-06-15 08:53:09

回答

1

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

也就是说,如果

  • 你给的文件名.xls扩展
  • 沿着正确的MIME类型
  • Excel或注册为处理XLS文件的一些其他程序发送安装在用户的计算机

“假HTML作为Excel”方法应该正常工作。我从来没有尝试过在OpenOffice中打开一个HTML文件作为XML文件,但你应该尝试一下,看看它如何处理它。

+0

是的,我给了xls文件扩展名,我敢肯定,mime发送正常。所以问题是,excel或相关的应用程序必须安装在用户的comp?嗯..我需要转换它在服务器perhapse>。 jargalan 2011-06-15 08:58:36

+0

btw我使用OpenOffice在Ubuntu上工作,并在Chrome v12和FF v3.6上测试它。它正如我所料。但我认为用户会下载它作为excel只有他们有应用程序主要处理它,不是吗? – jargalan 2011-06-15 09:07:30

+1

@ Zomboid是的,但它可能是其他应用程序,可以处理*真正* Excel文件不能处理HTML文件掩盖如此。我不会指望它。 – 2011-06-15 10:06:45

2

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

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

相关问题