lbb_18 2015-07-15 07:14 采纳率: 0%
浏览 1468

asp.net excel导出问题

    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.如果要正常打开,代码上应该如何实现 或 其他什么方法?
                                (请详细说明,谢谢!)
  • 写回答

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如何配置