Response.Clear();
Response.Charset = "utf-8";
Response.ContentType = "application/vnd.ms-excel";
//Response.ContentType = "application/octet-stream";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName) + ".xls");
Response.Write("<html><head><META http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body>");
Response.Write(html);
Response.Write("</body></html>");
Response.Flush();
Response.End();
当定义后缀名为.xls时,导出的文档可以打开但是会有提示
当定义后缀名为.xlsx时,导出的文档就没有办法打开了
本机安装的是office2010
问题:1.为什么后缀名为.xlsx时 文件无法打开?
2.如果要正常打开,代码上应该如何实现 或 其他什么方法?
(请详细说明,谢谢!)
asp.net excel导出问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答
- threenewbee 2015-07-15 22:03关注
你的代码是网上流传的一段根本错误的代码。
看看你Response.Write都写了什么就知道,你根本在写html而不是excel文件。幸运的是,excel可以识别html并且打开,所以很多人误以为自己的代码实现了导出excel的功能。
你要真正创建一个excel文件,需要用vba或者npoi。解决 无用评论 打赏 举报
悬赏问题
- ¥15 C#读写EXCEL文件,不同编译
- ¥15 如何提取csv文件中需要的列,将其整合为一篇完整文档,并进行jieba分词(语言-python)
- ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
- ¥15 扩散模型sd.webui使用时报错“Nonetype”
- ¥15 stm32流水灯+呼吸灯+外部中断按键
- ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
- ¥15 NX MCD仿真与博途通讯不了啥情况
- ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
- ¥15 gradio的web端页面格式不对的问题
- ¥15 求大家看看Nonce如何配置