情景:

浏览器中点击下载文件有两个选项:[打开][下载]

[打开]之后,提示["文件.xlsx"的文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?],点击[是],看到Excel乱码..
[下载]之后,再打开,会提示[发现"文件.xlsx"中的部分内容有问题。是否让我们尽量尝试恢复?如果您信任工作簿的源,请单击"是"] 扩展:工作簿的"源",是将"文件.xlsx",改后缀为"文件.zip"然后看到里面的xml(sharedStrings.xml) ?

x

原来代码以及下载情景:

        byte[] streamData = getByte("file.xlsx");
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", string.Format("attachment,filename={0}", out_file_name));
Response.AddHeader("Content-Length", streamData.LongLength.ToString());
Response.BinaryWrite(streamData);
Response.Flush();
Response.End();

更改后代码及情景:

            Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.ContentType = "application/octet-stream";//改动
Response.AddHeader("Content-Disposition", string.Format("attachment,filename={0}", out_file_name));
Response.AddHeader("Content-Length", streamData.LongLength.ToString()); Response.BinaryWrite(streamData);
Response.Flush();
Response.End();

小结:

x

本地Excel版本是2016

x

可能,Excel2007的版本不存在这个问题吧...

x

猜测:本地安装的Excel版本和生成的Excel版本不同,下载到本地之后,本地可以修复打开不乱码,但是直接打开不会修复,就乱码了...

浏览器下载Excel,直接打开显示乱码...的更多相关文章

  1. ZendOptimizer怎么安装?Php网站打开显示乱码

    http://jingyan.baidu.com/article/4e5b3e1952a99291901e24cf.html 安装zendoptimizer软件 1 网上下载对应的zend版本,点击进 ...

  2. 360浏览器下载excel问题解决方式

    亲们有没有碰到过今天我遇到的这件事. 如果使用简单的链接.或者get方式提交的表单,去下载excel,那么360浏览器就会有问题. 问题是:它没把我用java生成的excel表格下载,而是去把我的列表 ...

  3. nginx,文件下载,预览,防止浏览器下载时直接打开,防止预览时直接下载文件,解决nginx谷歌浏览器不支持下载问题

    公司项目逐渐增多,对效率的要求越来越高,不同项目分部不同服务器,最初想用nginx 就是为了多个项目用一个url和服务器宕机解决方案 nginx也可作为附件服务器,毕竟nginx也对静态文件支持较好, ...

  4. 解决PHP在IE浏览器下载文件,中文文件名乱码问题

    前提:我们网站所有文件全部使用的是UTF-8 NO BOM的编码方式 1.找测试重现.360浏览器下载的呵呵,果然文件名是乱码.再请测试在ie浏览器下测试.IE9,8,7也全部是乱码.查看编码就是UT ...

  5. Servlet:浏览器下载文件时文件名为乱码问题

    1 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcep ...

  6. 平板电脑与火狐浏览器下载excel中文文件名乱码

    fileName = new String(fileName.getBytes("utf-8"), "iso8859-1");//兼容火狐.ie.平板 resp ...

  7. 火狐浏览器导出EXCEL 表格,文件名乱码问题

    牢骚:今天又是一个不太平的日子,打开任务表一看里面有一堆bug,其中有一个就是今天要说的这个关于商品导出的问题,本功能是临时授命接一个任务,本来呢这个导出功能在系统各大模块已经都很成熟了,但是总有一个 ...

  8. mvc项目,导出到Excel,中文显示乱码

      1 public class HomeController : Controller 2 { 3 static List<User> GetUsers() 4 { 5 List< ...

  9. Java 解决IE浏览器下载文件,文件名出现乱码问题

    /** * 区分ie 和其他浏览器的下载文件乱码问题 * @param request * @param fileName * @return */ public String getFileName ...

随机推荐

  1. sublime python3中读取和写入文件时如何解决编码问题

    # -*- coding: utf-8 -*- #分析用户身份审核信息 #python 3.5 #xiaodeng #http://apistore.baidu.com/apiworks/servic ...

  2. 修改PHP上传文件大小设置

    问题: 上传MV到服务器发现有最大文件限制: 50M 怎么修改呢? 度娘了一把, 修改php.ini文件的upload_max_filesize = 100M 及 post_max_size = 10 ...

  3. 玩魔兽争霸无故退出 提示框显示"0x21101663"指令引用的"0x02704acc"内存该存不能为"read" 确定就会终止程序

    20151002总结:下方法试过,没完全按照说的操作完,觉得有风险且那个read程序执行时间好长的,感觉有点干坏事的意思 ======================================= ...

  4. appium 获取android 粘贴板上的内容

    appium 新版本增加了获取粘贴板的内容.如果使用appium旧版本,获取粘贴板的内容不是那么容易的,甚至百度谷歌各种搜,都无法找到合适的解决方法.新版本获取android 粘贴板内容就显得很容易了 ...

  5. 基于mindwave脑电波进行疲劳检测算法的设计(1)

    一.简介 脑波,又称之为脑电波,是人大脑发出的电波,非常的微弱,只能通过设备来检测.人的脑波在不同状态下,会不同,因此可以通过脑波来量化分析人的精神状态. 科学家讲脑电波分为四种,以下为详细解释 (1 ...

  6. rman list命令

    rman list命令   List command example 可以用于查看backup,copy,archivelog等 01 list incarnation================ ...

  7. [转]ztree出现$.fn.zTree is undefined错误的解决办法。

    原文地址:https://blog.csdn.net/smallboy2011/article/details/20554269 问题描述,在一个界面使用ztree创建树,提示TypeError: $ ...

  8. java.util.concurrent介绍【转】

    java.util.concurrent介绍   java.util.concurrent 包含许多线程安全.测试良好.高性能的并发构建块.不客气地说,创建 java.util.concurrent ...

  9. [原创]找不到mswinsck.ocx的解决办法

    mswinsck.ocx,是在运行程序或者游戏时,系统弹出错误提示“ 找不到mswinsck.ocx”,或者“ 没有找到 mswinsck.ocx”时,说明您系统中缺失这个OCX文件或者该OCX文件没 ...

  10. 关于Kafka high watermark的讨论2

    之前写过一篇关于Kafka High watermark的文章,引起的讨论不少:有赞扬之声,但更多的是针对文中的内容被challenge,于是下定决心找个晚上熬夜再看了一遍,昨晚挑灯通读了一遍确实发现 ...