Java POI Excel导出文件名中文乱码

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

// 判断浏览器类型,firefox浏览器做特殊处理,否则下载文件名乱码
	public static void compatibleFileName(HttpServletRequest request, HttpServletResponse response, String excelname) throws UnsupportedEncodingException {
		String agent = request.getHeader("USER-AGENT").toLowerCase();
		response.setContentType("application/vnd.ms-excel");
		String fileName = excelname;
		String codedFileName = java.net.URLEncoder.encode(fileName, "UTF-8");
		if (agent.contains("firefox")) {
			response.setCharacterEncoding("utf-8");
			response.setHeader("content-disposition", "attachment;filename=" + new String(fileName.getBytes(), "ISO8859-1") + ".xls");
		} else {
			response.setHeader("content-disposition", "attachment;filename=" + codedFileName + ".xls");
		}
	}
时间: 2024-10-13 04:38:00

Java POI Excel导出文件名中文乱码的相关文章

java POI excel 导出复合样式(一个单元格两个字体)

前言:java poi 导出 excel 时,需要设置一个单元格有多个字体样式,有点类似于富文本. 想要达到的效果(一个单元格里): 我使用的 poi 版本是 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> 具体实现: 工具类方法:

解决Java POI 导出Excel时文件名中文乱码,兼容浏览器

String agent = request.getHeader("USER-AGENT").toLowerCase();   response.setContentType("application/vnd.ms-excel");   String fileName = "文件名";   String codedFileName = java.net.URLEncoder.encode(fileName, "UTF-8");

Asp.Net导出文件名中文乱码

Asp.Net导出word为例,Excel等其他文件也一样 protected void Page_Load(object sender, EventArgs e) {string html = “网页html代码”; string fileName = "故事.doc"; DownloadDoc(fileName,html); } public void DownloadDoc(string fileName, string pageHtml) { //设置Http的头信息,编码格式

txt excel 导出 文件名称为中文,避免乱码的解决方案

在通过response导出文件数据的时候,不论是txt 还是Excel ,如果想让其文件名称为中文,解决方案: response.setCharacterEncoding("UTF-8"); response.setContentType("application/txt");//"application/vnd.ms-excel" response.setHeader("Content-disposition","

pyhon/excel python导出到excel时的中文乱码问题

昨儿利用python+win32com将网页的表单导出到本地excel,遇到了输出乱码问题,解决方法: 将x改为x.decode('utf-8') setCall('sheet1',row,col,x.decode('utf-8')) 我的部分源码: self.xlBook = self.xlApp.Workbooks.Add() def setCell(self,sheet,row,col,value):#设置单元格的数据 "Set value of one cell" sht =

java文件下载和导出文件名乱码浏览器兼容性问题

实例: String poorName= dataMap.get("NAME").toString(); String villageName = dataMap.get("ADDRESS").toString(); String filename=villageName+"-"+poorName+".doc"; response.setContentType("application/doc"); fin

jquery file upload 后台收到的文件名中文乱码, filename中文乱码

本周用jquery file upload做上传文件的功能,后台会接受文件,并且截取文件名作为字符存入数据库.基本功能实现时候,试了几个文件,发现如果文件名如果没有中文就OK,如果文件名带中文的话,后台收到的就是中文乱码,怎么去解码都没用. 例如,上传的文件叫做"昕锐配置表.xls",但是到后台收到的却是 "鏄曢攼閰嶇疆琛?xls" ,如下图: 似乎也不是解码能解决的问题. 于是乎想弄清楚这个文件名是在哪个环节出问题的.首先写了一个最简单的html页面,里面就是最原

poi excel导出,下载

poi.jar包 public void downExcel(HttpServletResponse response,Page<ShopApply> page) throws Exception{ // 第一步,创建一个webbook,对应一个Excel文件 HSSFWorkbook wb = new HSSFWorkbook(); // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet HSSFSheet sheet = wb.createSheet(&quo

Java中使用FileputStream导致中文乱码问题的修改方案

1 package com.pocketdigi; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.io.InputStreamReader; 8 import java.io.OutputStreamWriter; 9 10 public class Main { 11