日期:2014-05-17  浏览次数:20449 次

急:在IE中打开Excel,报“您尝试打开的文件“default.aspx”的格式与文件扩展名指定的格式不一致。打开文~”
我的环境:IE8,vs2008,office2007

我想在IE中打开一个Excel文件(xls或xlsx),代码如下:
  Response.ClearContent();
  Response.ClearHeaders();
  Response.ContentType = "application/vnd.ms-excel";
  Response.WriteFile("k:\\12.xls");
  Response.Flush();
  Response.Close();

打开时会提示:
您尝试打开的文件“default.aspx”的格式与文件扩展名指定的格式不一致。打开文件前请检验文件没有损坏且来源可信。是否立即打开该文件

但是相同的代码,打开word文件(doc或docx)却是正常的:
  Response.ClearContent();
  Response.ClearHeaders();
  Response.ContentType = "application/msword";
  Response.WriteFile("k:\\11.doc");
  Response.Flush();
  Response.Close();


请问这是为什么,如何才能打开正常Excel文件?
还望各位高人帮个忙,谢谢大家了!




------解决方案--------------------
生成xml格式的xls文件.
或myxls导出

------解决方案--------------------
LZ用的是二进制流的方式导出excel,导出的时候是伪EXCEL,说白了就是在excel里嵌入了HTML代码.
真正的excel导出以后,用txt打开是乱码的.
在网上搜索org.in2bits.MyXls这个第三方控件,非常方便,不产生任何excel进程,而且不用在服务器上装任何office组件