我现在导出2003是这样的;
Response.Clear(); Response.AppendHeader("Content-Disposition", "attachment;filename=a.xls"); Response.Charset = "utf-8"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); Response.ContentType = "application/vnd.ms-excel"; Response.Write(Session["OutputData"].ToString());//Session["OutputData"]是一个table Response.End();
如果是2007的话要怎么改
两处地方修改就行了。。。
Response.AppendHeader("Content-Disposition", "attachment;filename=a.xls");
改成:
Response.AddHeader("content-disposition", "attatchment;filename=" + HttpUtility.UrlEncode("a.xlsx", System.Text.Encoding.UTF8));
Response.ContentType = "application/vnd.ms-excel";
改成:
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
你试试呗,。。。。
打开来提示这个:Excel无法打开文件"XXX.xlsx",因为文件格式或文件扩展名无效.请确定文件未损坏,并且文件扩展名与文件的格式匹配.
@拖鞋王子: 你确定你电脑安装了office 2007极其以上 office 2010版本? 实在不行,就导出2003的格式吧。。。 2007的我没玩过。。。 文件格式就只有两处地方:文件拓展名以及文件的MIME类型
你再试试看。。。 xlsx文件的MIME类型: http://xiaolele.iteye.com/blog/368288
看我这篇文章http://www.cnblogs.com/mcc7/archive/2012/04/25/2470187.html
前段时间遇到的导出excel的问题,解决了就给记了下来,应该能帮上你,
而且我的问题还苦逼到连excel都不能用....