java poi导出excel response.setHeader设置导出文件名抓包不合法及处理导出文件名为action方法名

问题出现1:

spring MVC 框架下使用poi导出excel,设置导出文件名:response.setHeader("Content-Disposition", "attachment;filename=" +sourceId+"_"+dateString+".xls");

该方法进行抓包测试时,显示BUG url不合法。

解决办法:对 "attachment;filename=" +sourceId+"_"+dateString+".xls" 进行String fileNmae = URLEncoder.encode("attachment;filename="+sourceId+"_"+dateString+".xls",StandardCharsets.UTF_8.displayName()); 再response.setHeader("Content-Disposition", fileNmae);

但是出现新的问题2:poi导出excel时,导出文件名为action 方法名。

解决办法:使用 new String(byte[],"utf-8");编码

String fileName = "attachment;filename="+sourceId+"_"+dateString+".xls";
response.setHeader("Content-Disposition", new String(fileName.getBytes(), "utf-8"));

最终解决:抓包测试通过。

原文地址:https://www.cnblogs.com/zhuyingzheng/p/9298148.html

时间: 2024-08-25 19:27:47

java poi导出excel response.setHeader设置导出文件名抓包不合法及处理导出文件名为action方法名的相关文章

C#将网页数据导出Excel时编码设置

1 public void DGToExcel() 2 { 3 Response.ClearContent(); 4 Response.Charset = "GB2312";//内容编码 5 Response.ContentType = "application/ms-excel"; 6 Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//内容编码 7 R

MyXls导出Excel的各种设置

MyXls是一个操作Excel的开源类库,支持设置字体.列宽.行高(由BOSSMA实现).合并单元格.边框.背景颜色.数据类型.自动换行.对齐方式等,通过众多项目的使用表现,证明MyXls对于创建简单格式的Excel文件十分快捷方便. 本文将通过实例的方式详细说明如何通过各种属性设置MyXls的样式,并附带示例程序的源代码. // 准备测试数据 List<PersonInfo> list = new List<PersonInfo>(); for (int i = 1; i <

Java Poi 读取excel 对所有类型进行处理

1.最近做了一个批量导入功能 , 发现poi读取excel的日期类型会出现问题,源于日期类型分为以下几种: ①.yyyy/MM/dd ②.HH:mm:ss ③.yyyy/MM/dd HH:mm:ss 2.解决思路: 日期,数字的类型都是数值的, 所有需要对每一个进行区分,根据cell.getCellStyle().getDataFormat() 方法  可以得到excel 格子中的short类型的值 ,从断点中得知 yyyy/MM/dd 格式的值是 14 HH:mm:ss  格式的值是 21 y

SpringMVC中导出Excel文件,关于弹出一个选择框,选择导出Excel文件的路径项目细节

最近项目上需要写一个导出excel功能,在开始的时候用ajax发送请求,不弹出导出路径选择框,后来在网上搜了一些资料,找到了问题所在,做一下总结: 前端页面:thymeleaf 后端语言:java 导出Excel:POI模式 1.ajax请求只是个“字符型”的请求,即请求的内容是以文本类型存放的.文件的下载是以二进制形式进行的,ajax没法解析后台返回的文件流,所以无法处理二进制流response输出来下载文件.将ajax请求改为loaction.href的形式发送请求,浏览器是可以识别二进制的

ASP.NET MVC导出excel(数据量大,非常耗时的,异步导出)

要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式,后台开辟一个线程将excel导出到指定目录,然后提供下载. 效果如下: 选中了多行,会导出多个工作簿sheet,一个汇总的,其他的就是明细数据. 这里我使用了NPOI组件来进行excel导出,下面是要几个封装好的类,从网上找的,然后修改了一下. GenerateSheet.cs using NPOI.SS.UserModel; usi

java poi操作excel 添加 锁定单元格保护

Excel的book保护是很常用的,主要是不想让别人修改Excel的时候用.这样能够避免恶意随便修改数据,提高数据的可信度. 下面介绍JAVA POI来实现设置book保护: 使用HSSFSheet类的protectSheet(password)方法就可以了. 具体代码如下: package com.util; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFCell; import org.ap

java poi出excel换行问题

POI操作excel实现换行问题. package jp.co.misumi.mdm.batch.common.jobrunner; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import org.apache.poi.En

Java poi导入excel(合并单元格的excel)(转)

poi导入excel代码示例 原文地址:https://mbd.baidu.com/newspage/data/landingshare?pageType=1&isBdboxFrom=1&context=%7B%22nid%22%3A%22news_9588929214493290157%22%2C%22sourceFrom%22%3A%22bjh%22%7D 原文地址:https://www.cnblogs.com/zbq6/p/12501683.html

java基础知识之一:命名规则(包名、类名、变量名、方法名)

1.包名:包名一般是小写英文字母 2.类名:单词首字母大写 3.变量名: 1) 标识符由字母.数字.下划线"_".美元符号"$"或者人民币符号"¥"组成,并且首字母不能是数字. 2) 不能把关键字和保留字作为标识符. 3) 标识符没有长度限制. 4) 标识符对大小写敏感. 4.方法名:首单词小写,后面单词首字母大写 注意一下,不同变量类型默认的字节存储.Java中小数默认是double类型,例如上面(float)4.5,如果你直接写4.5,会在4