使用poi,做传统的excel导出,然后想在浏览器中,让用户选择另存为,保存用户下载的xls文件,这个时候,可能的是在ie下出现乱码(ie,9,10,11),但在firefox,chrome下没乱码,
因此必须综合判断,编写一个工具类:
/**
*
* @Title: processFileName
*
* @Description: ie,chrom,firfox下处理文件名显示乱码
*/
public static String processFileName(HttpServletRequest request, String fileNames) {
String codedfilename = null;
try {
String agent = request.getHeader("USER-AGENT");
if (null != agent && -1 != agent.indexOf("MSIE") || null != agent
&& -1 != agent.indexOf("Trident")) {// ie
String name = java.net.URLEncoder.encode(fileNames, "UTF8");
codedfilename = name;
} else if (null != agent && -1 != agent.indexOf("Mozilla")) {// 火狐,chrome等
codedfilename = new String(fileNames.getBytes("UTF-8"), "iso-8859-1");
}
} catch (Exception e) {
e.printStackTrace();
}
return codedfilename;
}
然后,
response.setHeader("Cache-Control", "private");
response.setHeader("Pragma", "private");
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Type", "application/force-download");
title = FileUtil.processFileName(request, title);
response.setHeader("Content-disposition", "attachment;filename=" + title + ".xls");
就可以解决了,注意判断是否ie的时候,ie 11的agent是Trident
分享到:
相关推荐
在这个场景中,我们关注的是如何使用POI来创建一个功能丰富的Excel导出工具类,它能够自动设置标题、列名、文件名,并且支持插入图片以及合并单元格。下面将详细介绍这些功能的实现。 首先,要创建一个Excel工作簿...
Jakarta POI 是 Apache POI 的早期项目名称,它提供了一组 API 来处理 Microsoft Office 文件格式,特别是针对 Excel(`.xls` 和 `.xlsx`)和 Word(`.doc` 和 `.docx`)文件。Apache POI 项目主要由以下几个子项目...
最后,Servlet将Workbook写入OutputStream,用户可以在浏览器中下载或查看生成的Excel文件。 另一方面,main方法是标准的Java应用程序入口,通常用于命令行或测试环境。它不涉及网络交互,而是直接在本地生成Excel...
Java POI下载Excel模板 Excel带有下拉框的模板,并有详细注释,生成exlcel的下拉框,必填项标红,数字栏位防止科学计数法,并设置Excel标题样式
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 ...在本文中,我们已经详细介绍了如何使用 Java POI 实现 Excel 导入导出功能,包括读取和写入 Excel 文件。
然后在doGet或doPost方法中调用上述生成Excel的逻辑,并设置响应头以指示内容类型为"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",以及设置Content-Disposition为"attachment",这样浏览器...
在Web环境中,可以通过响应头设置`Content-Disposition`为`attachment`,并指定文件名,让浏览器以下载方式显示。 以下是一个简化的代码示例,展示了读取数据并填充到模板的流程: ```java FileInputStream fis = ...
### 文件下载:使用POI导出Excel文档 在日常工作中,我们经常需要处理大量数据,并将其以Excel格式导出供用户下载。Java中一个非常强大的工具包——Apache POI可以帮助我们实现这一需求。Apache POI是一个用于读写...
标题 "POI 生成EXCEL2007【含例子】" 涉及到的知识点主要集中在Apache POI库的使用上,这是一个强大的Java API,用于读取、写入和修改Microsoft Office格式的文件,特别是Excel文件。在这个场景中,重点是创建和操作...
在IT行业中,Apache POI是一个广泛使用的开源库,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。本篇文章将详细讲解如何利用Apache POI库来读取Excel数据并将其写入到Word文档中。 首先,...
Java的Apache POI库是一个强大的工具,用于读取、创建和修改Microsoft Office格式的文件,尤其是Excel(.xlsx)文档。在本示例中,我们将深入探讨如何利用POI库来生成Excel中的图表曲线,这对于数据可视化和报告生成...
POI提供了HSSFPicture类和XSSFPicture类(分别对应于.HSSF和.XSSF,即Excel 2003和2007以上的版本)来处理这些图片。 **1. 引入依赖** 在Java项目中,你需要在pom.xml文件中添加Apache POI的相关依赖,例如: ```...
POI 删除excel列,可以设置多列,POI里怎么没有删除列的API呢
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在本文中,我们将深入探讨如何使用POI进行Excel的读写操作,并进行总结。 1. POI基本概念 Apache POI 提供了...
### POI的EXCEL导出,自动换行 在日常工作中,经常需要处理大量的数据导入导出任务,尤其是在企业级应用开发中,Excel文件的处理成为了一项必不可少的能力。Apache POI项目提供了一系列用于读写Microsoft Office...
在HTTP响应中设置正确的MIME类型("application/vnd.ms-excel"或"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")和文件名(如"export.xls"或"export.xlsx")。 7. 关闭资源:确保在操作...
poi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excel
在Java开发中,Apache POI库是一个非常实用的工具,用于读取和写入Microsoft Office格式的文件,尤其是Excel文档。本示例工程"使用POI进行Excel文件下载"是针对那些希望在Web应用程序中生成并提供用户下载Excel文件...
Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,尤其是Excel。在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,...
在Struts2中,我们可以配置一个Action,当用户触发特定URL时,Action会生成Excel文件,设置合适的响应头(如Content-Disposition指定文件名),然后将文件流写入HTTP响应,使浏览器能够下载文件。 7. **错误处理与...