POI导出excel表时文件名变成乱码怎么办

POI导出excel表时文件名变成乱码怎么办,第1张

在用POI进行excel表导出时,遇到中文文件名乱码问题,用下面的方法得到了解决。

转载自:https://my.oschina.NET/chinamummy29/blog/525639

在导出前对名称根据浏览器做下处理

[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="">"attachmentfilename="</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="">"attachmentfilename="</span>+ codedFileName + <span class="hljs-string" style="">".xls"</span>)

}

}</code>

翻译结果:"对“

一. 基本概念

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能

二. 基本功能

结构:

HSSF - 提供读写Microsoft Excel格式档案的功能。

XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。

HWPF - 提供读写Microsoft Word格式档案的功能。

HSLF - 提供读写Microsoft PowerPoint格式档案的功能。

HDGF - 提供读写Microsoft Visio格式档案的功能。

三. 范文演示

创建Excel 文档

示例1将演示如何利用Jakarta POI API 创建Excel 文档。

示例1程序如下:

读取Excel文档中的数据

示例2将演示如何读取Excel文档中的数据。假定在D盘JTest目录下有一个文件名为test1.xls的Excel文件。

示例2程序如下:

设置单元格格式

在这里,我们将只介绍一些和格式设置有关的语句,我们假定workbook就是对一个工作簿的引用。在Java中,第一步要做的就是创建和设置字体和单元格的格式,然后再应用这些格式:

1、创建字体,设置其为红色、粗体:

2、创建格式

3、应用格式

处理WORD文档


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/7919965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存