文档库 最新最全的文档下载
当前位置:文档库 › 解决excel乱码

解决excel乱码




2009-08-07
JSP应用导出Excel报表的简单实现以及中文乱码彻底解决(HTML)
Web应用导出Excel报表的简单实现(HTML)
在Web应用中,很多数据经常要导出成Excel文档。用专门的生成真正的Excel文档的方式比较复杂,不太好用。所以经常用一种简单的方式来实现,即将报表保存为HTML格式,然后用Excel打开。
实现方式:
第一步,用JSP实现HTML版本的报表
第二步,在该JSP页面头部设置response的ContentType为Excel格式

引用
<% response.setContentType("application/vnd.ms-excel;charset=GBK"); %>


中文问题:
查看源代码时发现JSP文件中写死的中文为乱码,则在JSP文件头部添加一行

引用
<%@ page contentType="text/html; charset=gb2312" %>
查看源代码时发现文字为中文,但是用Excel打开为乱码则在与中加入

引用


用Servlet实现也是类似的处理方法。

实现样例:Test.jsp


Java代码
1.<%@ page contentType="text/html; charset=GBK" %>
2.<% response.setContentType("application/vnd.ms-excel;charset=GBK"); %>
3.
4.
5.Test
6.
7.


8.
9.
10.
11.
12.
13.
项目 计量单位 满期赔付率

14.
15.





//解释,为何wps打开正常,office-excel打开乱码

生成EXCEL乱码2008-05-24 20:38去年做了一个小查询系统,使用的平台是FreeBSD+apache+php+mysql。由于数据中可能存在生僻字,所以数据库编码使用了我以前常使用的GBK编码。调用数据前首先set names gbk声明,这样显示数据正常。后来需要把数据生成为excel文件,这时问题出来了:php生成的excel文件中所有中文字符都是乱码。

上网查询,说是在head中注明编码,问题依旧,但奇怪的是生成的文件用wps打开是没有问题的,但总不能让使用单位也安装wps吧,虽然那是国产的,而且政府采购的。最后没有办法,只好生成csv文件,这样乱码问题解决了,但是下载下来的文件不能直接用excel打开,而且排版也麻烦。

清明节放假,恰好程序数据变动,于是一并想解决一下这个问题。试了几个编码,差别不大。周一回到单位突然想起既然wps能够打开,那么证明是微软是不自动检测编码而是强

制使用自己的编码,而微软最常用的编码是gb2312,于是用EMS的mysql管理软件重新生成了一个数据表,编码选择那里果然发现里面也有gb2312编码选择,导入数据库后,把GBK换成gb2312,这样生成的excel文件中汉字乱码问题解决了。

晚上回家,准备把原先数据库编码改为gb2312,但一是偷懒,而是担心转换过程中数据出问题,便在没有修改字符编码的情况下,只是把set names gb2312声明,试着生成excel文件,哈哈,同样没有问题!

到网上搜索了一下:

GBK: 汉字国标扩展码,基本上采用了原来GB2312-80所有的汉字及码位,并涵盖了原Unicode中所有的汉字20902,总共收录了883个符号, 21003个汉字及提供了1894个造字码位。 Microsoft简体版中文Windows 95就是以GBK为内码,又由于GBK同时也涵盖了Unicode所有CJK汉字,所以也可以和Unicode做一一对应。

GB码,全称是GB2312-80《信息交换用汉字编码字符集 基本集》,1980年发布,是中文信息处理的国家标准,在大陆及海外使用简体中文的地区(如新加坡等)是强制使用的唯一中文编码。P-Windows3.2和苹果OS就是以GB2312为基本汉字编码, Windows 95/98则以GBK为基本汉字编码、但兼容支持GB2312。GB码共收录6763个简体汉字、682个符号,其中汉字部分:一级字3755,以拼音排序,二级字3008,以偏旁排序。该标准的制定和应用为规范、推动中文信息化进程起了很大作用。

GBK编码是中国大陆制订的、等同于UCS的新的中文编码扩展国家标准。GBK工作小组于1995年10月,同年12月完成GBK规范。该编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库。

估计正是大陆制订这个关节出了问题,微软正是抓住自己的标准才会出现wps识别而excel不识别的情况。看来标准之争是不得不争啊。




相关文档
相关文档 最新文档