乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > java poi excel 导出内容中文乱码,急求在线解决...-poi导出excel乱码,JAVA导出到Excel的

java poi excel 导出内容中文乱码,急求在线解决...-poi导出excel乱码,JAVA导出到Excel的

作者:乔山办公网日期:

返回目录:excel表格制作


读取xls文件需要专门的jar来读的,如:jxl.jar
你是像读txt一样,通过readline的方式是不行的,excel本身有自己的数据格式
建议百度 : java 读取excel
会有很多类似读取excel的代码,大体有分2003和2007的不同excel读取方式,也有其他的一些jar可以用来读取

你试试 传说中的土鳖 的方法吧 第二行的chatset=
在用POI进行excel表导出时,遇到中文文件名乱码问题,用下面的方法得到了解决。

转载自:https://my.oschina.NET/chinamummy29/blog/525639
在导出前对名称根据浏览e79fa5e98193e4b893e5b19e363器做下处理
[java] view plain copy
<code class="hljs typescript" style=""><span class="hljs-comment" style="">// 判断浏览器类型,firefox浏览器做特殊处理,否则下载文件名乱码</span>
<span class="hljs-keyword" style="">public</span> <span class="hljs-keyword" style="">static</span> <span class="hljs-built_in" style="">void</span> compatibleFileName(HttpServletRequest request, HttpServletResponse response, <span class="hljs-built_in" style="">String</span> excelname) throws UnsupportedEncodingException {
<span class="hljs-built_in" style="">String</span> agent = request.getHeader(<span class="hljs-string" style="">"USER-AGENT"</span>).toLowerCase();
response.setContentType(<span class="hljs-string" style="">"application/vnd.ms-excel"</span>);
<span class="hljs-built_in" style="">String</span> fileName = excelname;
<span class="hljs-built_in" style="">String</span> codedFileName = java.net.URLEncoder.encode(fileName, <span class="hljs-string" style="">"UTF-8"</span>);
<span class="hljs-keyword" style="">if</span> (agent.contains(<span class="hljs-string" style="">"firefox"</span>)) {
response.setCharacterEncoding(<span class="hljs-string" style="">"utf-8"</span>);
response.setHeader(<span class="hljs-string" style="">"content-disposition"</span>, <span class="hljs-string" style="">"attachment;filename="</span> + <span class="hljs-keyword" style="">new</span> <span class="hljs-built_in" style="">String</span>(fileName.getBytes(), <span class="hljs-string" style="">"ISO8859-1"</span>) + <span class="hljs-string" style="">".xls"</span>);
} <span class="hljs-keyword" style="">else</span> {
response.setHeader(<span class="hljs-string" style="">"content-disposition"</span>, <span class="hljs-string" style="">"attachment;filename="</span> + codedFileName + <span class="hljs-string" style="">".xls"</span>);
}
}</code>

微软的excel的默认编码好像是GB2312,而数据库拿出来的是UTF-8,你在调用生成excel的时候吧文字全部进行转化下,我想带你找我原来写的代码,但是不知道在哪了

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网