poi操作excel(下载excel)
来源:互联网 发布:数据分析r语言实战 编辑:程序博客网 时间:2024/05/18 02:06
<一>:用jdk自带的输入输出流
1://可以先设置response编码,使响应给浏览器的东西不是乱码;
response.setCharacterEncoding(" UTF-8");
2://得到要下载的东西存放的地址,也就是绝对路径;自己可以设置request来拼路径(xlsx是excel表文件的后缀格式),(filepath是要下载excel文件的相对路劲,也就是文件名比如下载leavestu.xlsx则filepath=leavestu)
(自家的jar包下的方法,在core-api下)
String filename=CoreplusEnv.getRealPath(''/_upload/ ''+filepath+".xlsx");
3://以当前的绝对路径创建一个file对象;(文件在磁盘里,而程序要用他,就得创建个该路径的实例,也就是一个关联通道才能操作它,当然还有其他方法可用来创建)(自来水开水的思想)
File file=new File(filename);
4://创建一个文件输入流(字节输入流)(此处也是一样起一个关联通道的作用,而他的read方法可以去读下载excel文件中的内容)
FileInputStream is = new FileInputStream(file);
5://用poi技术也就是相关价包来提供创建此字节流的工作簿对象(此处用xssf)
首先,POI提供了HSSF、XSSF以及SXSSF三种方式操作Excel。他们的区别如下:
HSSF:是操作Excel97-2003版本,扩展名为.xls。
XSSF:是操作Excel2007版本开始,扩展名为.xlsx。
SXSSF:是在XSSF基础上,POI3.8版本开始提供的一种支持低内存占用的操作方式,扩展名为.xlsx。
1、支持的行数、列数
Excel97-2003版本,一个sheet最大行数65536,最大列数256。
Excel2007版本开始,一个sheet最大行数1048576,最大列数16384。
2、文件大小
.xlsx文件比.xls的压缩率高,也就是相同数据量下,.xlsx的文件会小很多。
3、兼容性
Excel97-2003版本是不能打开.xlsx文件的。
Excel2007开始的版本是可以打开.xls文件的。
当然海量数据的导出肯定是推荐SXSSF的方式
Workbook wk=new XSSFWorkbook(is);
6:设置响应请求的样式
response.setContentType("application/vnd.ms-excel");
//设置表头
设置response的头报文数据,content-disposition为浏览器另存为.attachment以附件形式下载,filename下载后的文件名 new String(str.getBytes("gb2312"),"iso8859-1")文件名从iso8859-1编码转换为gb2312编码.
eg:
response.setHeader("Content-disposition","attachment;filename="+new String(str.getBytes("gb2312"),"iso8859-1"));
response.setHeader("Content-disposition", "attachment;filename="
+ file.getName())
7:得到此输入流的输出流,response是响应客户端的对象,在服务器里,而他有一个得到输出流方法,来创建一个给客户端要输出的内容流;
OutputStream os=response.getOutputStream();
8:用工作簿的write方法输出在工作簿里
wk.write(os);
9:关闭输出流
os.close();
- poi操作excel(下载excel)
- POI操作Excel(转)
- poi操作excel(二)
- poi操作Excel(合并)
- java:Excel操作(poi)
- poi excel下载
- Java poi Excel下载
- POI下载excel文件
- POI操作EXCEL
- POI操作EXCEL
- POI操作Excel文档
- 使用POI操作Excel
- poi操作excel文件
- poi操作excel文件
- poi 操作Excel
- POI操作Excel
- POI 操作excel
- POI 操作EXCEL
- 51Nod 1292 字符串中的最大值 V2 后缀数组 + 单调栈
- asp.net mvc 导入 ajax excel,或者图片上传 后台不能接收的问题
- yum命令常用参数详解
- Google推荐的图片加载库Glide介绍
- 修改yum源——默认的源可能不稳定
- poi操作excel(下载excel)
- 忽略AndroidStudio报图片检查错误
- Hibernate框架中DB表多对多的
- Selenium学习一——批量操作句柄切换页面
- JSON字符串和java对象的互转【json-lib】
- docker hadoop
- 固件#03--位操作的优势
- MySQL 不可重复读与幻读
- 双端链表