2014-09-02 58 views
0

我使用C#在asp.net中开发了一个响应式网站,它在桌面和手机中都可以正常工作,所有功能性工作都很好。诺基亚Lumia 920 Excel未打开

但是在诺基亚Lumia 920上,当我下载Excel时,它被下载了,但是没有在手机中打开。它抛出错误,如 格式不正确

我已经使用了下文提到的代码下载Excel的

Response.AddHeader("content-disposition", "attachment;filename=" + ExcelFileName + ".xlsx"); 
Response.Charset = ""; 
Response.ContentType = "application/vnd.ms-excel"; 
StringBuilder build = new StringBuilder(); 
//buid contain data 
Response.Output.Write(build.ToString()); 
Response.Flush(); 
Response.End(); 

什么可以解决?

+0

尝试改变的ContentType为“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet “。另外,你确定你需要这个标题“内容处置”吗?通常这是电子邮件附件 – 2014-09-02 10:27:33

+0

@StefanoDriussi:Nop它仍然给我同样的错误 – 2014-09-02 10:38:48

回答

0

手机没有问题,问题出在您的代码中。你正在提供html,并在响应头文件中设置响应是xlsx,所以实际上它是不正确的格式,它不是电话所期望的xlsx。

在桌面上,这只适用于becouse桌面excel知道如何使用html表格并将其显示为excell表格,但AFAIK Excel 2007和更新版本警告用户数据格式不正确。

唯一的解决方案是使用一些excel库并生成真正的excel文件。例如使用EPPlus这很简单,它在服务器上工作正常。

这里是出口ADO.NET数据表到Excel片和它服务到客户机的例子:

https://stackoverflow.com/a/9569827/351383

+0

它的工作所有其他手机它只是没有工作诺基亚Lumia 920 – 2014-09-02 10:34:43