Java web中不同浏览器间导出Excel文件名称乱码问题解决方案
问题描述:
对于不同浏览器存在对中文编码格式问题,从而在导出Excel文件时,中文文件名出现乱码的情况,即在程序中给要导出的文件指定一个中文名字时,在浏览器上出现的下载框中的文件名出现了乱码,解决如下:
解决方案:
- Date dt=new Date();//如果不需要格式,可直接用dt,dt就是当前系统时间
- DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//设置显示格式
- String nowTime="";
- nowTime= df.format(dt);//用DateFormat的format()方法在dt中获取并以yyyy/MM/dd HH:mm:ss格式显示
- WritableWorkbook book = null;
- String fileName = null;
- fileName = "中文文件名"+nowTime+ ".xls";
- OutputStream os = null;
- final String userAgent = request.getHeader("USER-AGENT");
- try {
- os = response.getOutputStream();
- esponse.reset();//清空输出流
- String finalFileName = null;
- if(StringUtils.contains(userAgent, "MSIE")){//IE浏览器
- finalFileName = URLEncoder.encode(fileName,"UTF8");
- }else if(StringUtils.contains(userAgent, "Mozilla")){//google,火狐浏览器
- finalFileName = new String(fileName.getBytes(), "ISO8859-1");
- }else{
- finalFileName = URLEncoder.encode(fileName,"UTF8");//其他浏览器
- }
- response.setHeader("Content-Disposition", "attachment; filename=\"" + finalFileName + "\"");//这里设置一下让浏览器弹出下载提示框,而不是直接在浏览器中打开
- response.setContentType("application/vnd.ms-excel");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }catch (IOException e) {
- e.printStackTrace();
- }
- book = Workbook.createWorkbook(os);
- WritableSheet sheet = book.createSheet("Sheet_1", 0);.................................
Java web中不同浏览器间导出Excel文件名称乱码问题解决方案的更多相关文章
- 解决java web中safari浏览器下载后文件中文乱码问题
解决java web中safari浏览器下载后文件中文乱码问题 String fileName = "测试文件.doc"; String userAgent = request.g ...
- Java Web实现使用浏览器从服务器下载文件(后台)
Java Web实现 使用浏览器从服务器下载文件. 下面实现两种情况的下载,需求如下: 需求(一):1.用户在页面填写表单. 2.填写完成后,选择下载,将表单内容发往后台. 3.后台根据内容生产一个文 ...
- java中使用poi导入导出excel文件_并自定义日期格式
Apache POI项目的使命是创造和保持java API操纵各种文件格式基于Office Open XML标准(OOXML)和微软的OLE复合文档格式(OLE2)2.总之,你可以读写Excel文件使 ...
- ASP.NET 导出excel文件出现乱码的解决办法
string html =TABLE ;//<table>标签,可以是多张表string modified = Regex.Replace(html, "<table &g ...
- springMVC中使用POI方式导出excel至客户端、服务器实例
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 这里的方法支持导出excel至项目所在服务器,或导 ...
- java导入、导出Excel文件
一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...
- Java基于注解和反射导入导出Excel
代码地址如下:http://www.demodashi.com/demo/11995.html 1. 构建项目 使用Spring Boot快速构建一个Web工程,并导入与操作Excel相关的POI包以 ...
- Java web中常见编码乱码问题(一)
最近在看Java web中中文编码问题,特此记录下. 本文将会介绍常见编码方式和Java web中遇到中文乱码问题的常见解决方法: 一.常见编码方式: 1.ASCII 码 众所周知,这是最简单的编码. ...
- Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...
随机推荐
- Reactor系列(六)Exception异常系列(六)Exception异常
#java##reactor##flux##error##exception# 视频解说: https://www.bilibili.com/video/av79468713/ FluxMonoTes ...
- PL/SQL developer 11.0注册码
PL/SQL developer 11.0注册码:product key:lhsw85g33x4p7leqk63hy8q28ffxzzvbxlserial No:193085password:xs37 ...
- 题目12 打印1到最大的n位数
///////////////////////////////////////////////////////////////////////////////////// // 2.打印1到最大的n位 ...
- nginx访问量统计 日常分析
nginx访问量统计 0.查询某个时间段的日志 cat appapi.dayutang.cn.access.log |grep 'POST'|grep '2019:10' > 20191059. ...
- Asp.net core 学习笔记 QR code and Barcode
QR code 和 Barcode 经常会使用到. Java 阵营有著名的 zxing https://github.com/zxing/zxing .Net 有对接它的 port https://g ...
- hdu 2846 字典树变形
mark: 题目有字串匹配的过程 有两点 1.为了高效的匹配子串 可以把所有的子串都预处理进去 然后字典树计数就放在最后面 2.在同一个母串处理自串的时候 会有重复的时候 比如abab 这里去重用个 ...
- Java lesson08 Homework
1:1. 写一个类Param,声明四个成员变量a.b.c.d,分别赋予四种访问权限. (1)试验在同一个包中的另一个类里能访问哪几个变量? (2)试验在不同包中的另一个类里能访问哪几个变量? (3)试 ...
- Socket的神秘面纱
Tcp/IP协议是目前世界上使用最为广泛的协议,是以Tcp/IP为基础多个层次上的协议的集合.也称Tcp/IP协议族或Tcp/IP协议栈. TCP: Transmission Control Prot ...
- phpspider爬虫框架的使用
这几天使用PHP的爬虫框架爬取了一些数据,发现还是挺方便的,先上爬虫框架的文档 phpspider框架文档 使用方法其实在文档中写的很清楚而且在demo中也有使用示例,这里放下我自己的代码做个笔记 & ...
- 14 Django之Form和Model Form组件
一.什么是Form 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用 ...