1     public class HomeController : Controller
2 {
3 static List<User> GetUsers()
4 {
5 List<User> list = new List<User>() {
6 new User{Id=1,Name="张三"},
7 new User{Id=2,Name="lisi"},
8 new User{Id=3,Name="wangwu"}
9 };
10 return list;
11 }
12 public void SaveToExcel()
13 {
14 StringBuilder sb = new StringBuilder();
15 sb.Append("id").Append("\t");
16 sb.Append("name").Append("\n");
17 List<User> list = GetUsers();
18 foreach (var item in list)
19 {
20 sb.Append(item.Id).Append("\t");
21 sb.Append(item.Name).Append("\n");
22 }
23 Response.Clear();
24 Response.Buffer = true;
25 Response.Charset = "UTF-8";
26 Response.ContentEncoding = Encoding.UTF8;
27 Response.ContentType = "application/ms-excel";
28 Response.AppendHeader("Content-Disposition", "attachment; filename=card.xls");
29 Response.Write(sb.ToString());
30 Response.End();
31 }

这个该怎么设置下?谢谢

豆角米饭 | 初学一级 | 园豆:143
提问于:2014-04-01 10:49
 
最佳答案
1

改成下面这样的:

Response.Charset = "GB2312";//定义输出字符集
Response.ContentEncoding = Encoding.Default;//输出内容的编码为默认编码

收获园豆:8
水晶途途 | 小虾三级 |园豆:1432 | 2014-04-01 13:56

我试了下,中文的还是乱码

豆角米饭 | 园豆:143 (初学一级) | 2014-04-01 14:43

@大斌小呼: 那你检查一下你的Windows环境和Office,是不是英文版。我的是Win7英文版,但是在区域与语言设置里全部改成China/Chinese了。另外检查一下你的Excel,有个地方设置的,我的是Excel 2007

酱油能 | 园豆:386 (菜鸟二级) | 2014-04-01 15:15
 
其他回答(7)
0

Response.Charset = "GB2312";试试。

 
酱油能 | 园豆:386 (菜鸟二级) | 2014-04-01 10:50

刚试了下,也不行,中文的地方还是显示"

??????

"

豆角米饭 | 园豆:143 (初学一级) | 2014-04-01 11:34

@大斌小呼:

Response.Charset = "GB2312";
        Response.ContentEncoding = Encoding.Default;

我这样就可以了。

酱油能 | 园豆:386 (菜鸟二级) | 2014-04-01 13:55
 
0

Response.ContentEncoding = Encoding.UTF8;这个也得改

 
吴瑞祥 | 园豆:13359 (专家六级) | 2014-04-01 12:25

刚修改了下 ,这样修改也不行,还是乱码

豆角米饭 | 园豆:143 (初学一级) | 2014-04-01 13:22
 
0

建议用一些excel读写的组件去做。

 
天天教程网 | 园豆:202 (菜鸟二级) | 2014-04-01 13:43
 
 
0

GB2312

 
魔多 | 园豆:927 (小虾三级) | 2014-04-01 13:50
 
 
0

Response.Charset = "GB2312";
        Response.ContentEncoding = Encoding.Default;

这个真能解决编码转换问题

收获园豆:1
玩世不恭的雷寅 | 园豆:34 (初学一级) | 2014-04-01 14:16
 
 
0

我以前做过这方面的东西,这个是一个WinForm的代码,楼主看看会不会有帮助吧。

http://www.cnblogs.com/Price/p/3528006.html

收获园豆:1
Goona | 园豆:826 (小虾三级) | 2014-04-01 17:31
 
 
0

public void SaveToExcel()
13         {
14             StringBuilder sb = new StringBuilder();
15             sb.Append("id").Append("\t");
16             sb.Append("name").Append("\n");
17             List<User> list = GetUsers();
18             foreach (var item in list)
19             {
20                 sb.Append(item.Id).Append("\t");
21                 sb.Append(item.Name).Append("\n");
22             }
23             Response.Clear();
24             Response.Buffer = true;
25             Response.Charset = "UTF-8";
26             Response.ContentEncoding = Encoding.UTF8;
27             Response.ContentType = "application/ms-excel";
28             Response.AppendHeader("Content-Disposition", "attachment; filename=card.xls");

29      //加上这句              
30             Response.Write("<meta http-equiv=\"content-type\" content=\"application/vnd.ms-excel; charset=utf-8\"/>" + sb.ToString());  
31             Response.End();
32         }

给个赏呗!!

 
博客园丶忆 | 园豆:202 (菜鸟二级) | 2015-04-23 16:39

不太明白为什么加上那句话,就可以解决乱码的问题呢。

dongmusic | 园豆:228 (菜鸟二级) | 2015-10-31 20:22

的确加上这句就解决了乱码

Response.Write("<meta http-equiv=\"content-type\" content=\"application/vnd.ms-excel; charset=utf-8\"/>" + sb.ToString());

操蛋

mvc项目,导出到Excel,中文显示乱码的更多相关文章

  1. 解决PL/SQL导出cvs文件中文显示乱码

    方法 1 导出csv格式文件 新建excel文件 比如 a.xls excel软件打开 选择菜单数据 -导入外部数据  unicode默认下一步 选择 逗号分隔符 点击确定导入完成 方法 2 导出成h ...

  2. HTML 表单 存为EXCEL文件时 中文显示乱码

    在做宣传品发放系统时,需求要把数据库查询的记录生成表单并转存excel文件. 在转存的EXCEL文件中文显示乱码,表格和其他字符正常,检查后发现是创建EXCEL文件打开模式不对 之前: myfile ...

  3. idea操作maven时控制台中文显示乱码/maven项目启动方式

    在idea中通过maven启动项目时,在前台显示数据库信息,没有中文乱码问题,在控制台中mybatis显示数据库的信息,中文显示乱码. 在程序中用 System.out.println 输出中文的时候 ...

  4. (转)sqlplus中文显示乱码的问题

    sqlplus中文显示乱码的问题 2010-07-19 11:33:26 分类: LINUX 在windows下sqlplus完全正常,可是到linux下,sqlplus中文显示就出问题了,总是显示“ ...

  5. ubuntu 中文显示乱码问题 (转)

    添加中文字符编码: $sudo vim /var/lib/locales/supported.d/local #添加下面的中文字符集 zh_CN.GBK GBK zh_CN.GB2312 GB2312 ...

  6. C#.NET ORM FreeSql 读取使用 US7ASCII 的 Oracle 数据库中文显示乱码问题

    前言 关于 Oracle US7ASCII 中文乱码的问题,Ado.Net 和 Odbc 无法解决.包括最新的.Net Core..NET6..NET7 都无法解决这个问题. FreeSql 对 Or ...

  7. Linux中文显示乱码?如何设置centos显示中文

    Linux中文显示乱码?如何设置centos显示中文 怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一 ...

  8. Xshell个性化设置,解决Xshell遇到中文显示乱码的问题

    在同事的推荐下,今天开始使用Xshell连接Linux,但是发现一个“遇到中文显示乱码”的问题, 同事的解决方案如下: 平常给Linux上传文件之前,先把文件转换成UTF-8编码形式, 然后设置Xsh ...

  9. GB2312、GBK和UTF-8三种编码以及QT中文显示乱码问题

    1.GB2312.GBK和UTF-8三种编码的简要说明 GB2312.GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码.只是对于我们中国人的应用来说,用这三种编码 比较多.简单的说一下, ...

  10. SecureCRT中文显示乱码

    环境:SecureCRT登陆REDHAT5.3 LINUX系统 问题:vi编辑器编辑文件时文件中的内容中文显示乱码,但是直接使用linux系统terminal打开此文件时中文显示正常,确诊问题出现在客 ...

随机推荐

  1. 关于nginx限制IP或IP段的问题2011

    关于nginx限制IP或IP段的问题2011-04-08 16:46:39 分类: LINUX 最近有同事问需要在nginx中针对一些IP和IP段限制访问,通过了解以下方法可以解决问题:   首先建立 ...

  2. 【面试题001-补充】C++ MyString类的封装

    [面试题001-补充]C++ MyString类的封装  一,C++ MyString类的封装 String.h: 123456789101112131415161718192021222324252 ...

  3. java基础知识回顾之java Thread类学习(七)--java多线程通信等待唤醒机制(wait和notify,notifyAll)

    1.wait和notify,notifyAll: wait和notify,notifyAll是Object类方法,因为等待和唤醒必须是同一个锁,不可以对不同锁中的线程进行唤醒,而锁可以是任意对象,所以 ...

  4. Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)

    1.Oracle表的管理 表名和列名的命名规则: 必须以字母开头: 长度不能超过30个字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z, a-z, 0-9, $, # 等. Oracl ...

  5. lintcode :Longest Palindromic Substring 最长回文子串

    题目 最长回文子串 给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串. 样例 给出字符串 "abcdzdcab",它的最长回文 ...

  6. lintcode :Trailing Zeros 尾部的零

    题目: 尾部的零 设计一个算法,计算出n阶乘中尾部零的个数 样例 11! = 39916800,因此应该返回 2 挑战 O(logN)的时间复杂度 解题: 常用方法: 也许你在编程之美中看到,通过求能 ...

  7. spring利用注解来注册bean到容器

    1.spring利用注解来定义bean,或者利用注解来注册装配bean.包括注册到ioc中,装配包括成员变量的自动注入. 1.spring会自动扫描所有类的注解,扫描这些注解后,spring会将这些b ...

  8. BS架构与CS架构的区别

    C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势. ...

  9. 2014-9-17二班----8 web project

    http://localhost:8080/rwkj1/indexServlet   地址请求后,,,,浏览器 地址栏没有变化 package cn.rwkj.servlet; import java ...

  10. java:接口实例

    接口:打印机接口 interface Printer { public void read(); } 函数一:佳能打印机 class CanPrinter implements Printer { p ...