Apache POI实现excel导出
链接:http://poi.apache.org/

Excel数据导出步骤:
使用poi 完成账户数据的导出功能 导入poi jar包并添加到classpath中
1、查询数据
2、定义导出头
String fileName="测试数据.xls";
resp.setHeader("Content-disposition","attachment;filename="new String(fileName.getBytes("gb2312"),"ISO8859-1")); //设置文件头编码格式
resp.setContentType("APPLICATION/OCTET-STREAM;charset=UTF-8");//设置类型
resp.setHeader("Cache-Control","no-cache");//设置头
resp.setDateHeader("Expires", 0);//设置日期头
3、创建工作簿HSSFWorkbook 对象
HSSFWorkbook book=new HSSFWorkbook();
4、由工作簿创建表HSSFSheet对象
HSSFSheet sheet=book.createSheet("账户表数据");
5、创建行对象Row
Row row=sheet.createRow(i);
6、创建单元格 Cell
Cell cell=row.createCell(0);
日期格式处理:
|
CellStyle cellStyle=book.createCellStyle(); CellStyle cellStyle=book.createCellStyle(); cellStyle.setDataFormat(book.createDataFormat().getFormat("yyyy-MM-dd")); cell.setCellStyle(cellStyle) |
7、写出流 刷新缓冲流 关闭流对象
book.write(resp.getOutputStream());
resp.getOutputStream().flush();
resp.getOutputStream().close();
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
1、导入相应jar包

2、相应方法
/**
* excel导出
* @param req
* @param resp
* void
* @throws IOException
*/
private void exportAccountData(HttpServletRequest req,
HttpServletResponse resp) throws IOException { String sql=" select id,aname,type,money,remark,create_time as createTime,update_Time as updateTime from account "
+ " where user_id=?"; User user=(User) req.getSession().getAttribute("user"); List<Account> list=MyBaseDao.queryRows(sql, new Object[]{user.getId()}, Account.class); if(null!=list&&list.size()>0){ String fileName="账户数据.xls";
resp.setHeader("Content-disposition","attachment;filename="
+new String(fileName.getBytes("gb2312"),"ISO8859-1")); //设置文件头编码格式
resp.setContentType("APPLICATION/OCTET-STREAM;charset=UTF-8");//设置类型
resp.setHeader("Cache-Control","no-cache");//设置头
resp.setDateHeader("Expires", 0);//设置日期头 HSSFWorkbook book=new HSSFWorkbook(); HSSFSheet sheet=book.createSheet();
CellStyle cellStyle=book.createCellStyle(); cellStyle.setDataFormat(book.createDataFormat().getFormat("yyyy-MM-dd")); for(int i=0;i<list.size();i++){
Account account=list.get(i);
Row row=sheet.createRow(i); Cell cell1=row.createCell(0);
cell1.setCellValue(account.getId()); Cell cell2=row.createCell(1);
cell2.setCellValue(account.getAname());
Cell cell3=row.createCell(2);
cell3.setCellValue(account.getMoney());
Cell cell4=row.createCell(3);
cell4.setCellValue(account.getType());
Cell cell5=row.createCell(4);
cell5.setCellValue(account.getRemark()); Cell cell6=row.createCell(5);
cell6.setCellValue(account.getCreateTime());
cell6.setCellStyle(cellStyle); Cell cell7=row.createCell(6);
cell7.setCellStyle(cellStyle);
cell7.setCellValue(account.getUpdateTime());
} book.write(resp.getOutputStream()); resp.getOutputStream().flush();
resp.getOutputStream().close();
}
}
3、jsp中添加excel导出
queryAccount.jsp


Apache POI实现excel导出的更多相关文章
- Java开发小技巧(六):使用Apache POI读取Excel
前言 在数据仓库中,ETL最基础的步骤就是从数据源抽取所需的数据,这里所说的数据源并非仅仅是指数据库,还包括excel.csv.xml等各种类型的数据接口文件,而这些文件中的数据不一定是结构化存储的, ...
- 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据
1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...
- 利用Apache POI操作Excel
最近在做接口,有个功能是利用Excel导入汽车发动机所需零件信息到线上系统中.简单回顾一下之前学过的用java操作Excel. 1.maven配置Apache POI pom.xml中配置POIjar ...
- Java使用Apache POI进行Excel导入和导出
Manve依赖 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --> <dependency> ...
- apache poi根据模板导出excel
需要预先新建编辑好一个excel文件,设置好样式. 编辑好输出的数据,根据excel坐标一一对应. 支持列表数据输出,列表中列合并. 代码如下: package com.icourt.util; im ...
- apache POI 操作excel<导入导出>
1.首先导入maven依赖 <!-- POI核心依赖 --> <dependency> <groupId>org.apache.poi</groupId> ...
- 使用Apache poi来编写导出excel的工具类
在JavaWeb开发的需求中,我们会经常看到导出excel的功能需求,然后java并没有提供操作office文档的功能,这个时候我们就需要使用额外的组件来帮助我们完成这项功能了. 很高兴Apache基 ...
- 转:POI操作Excel导出
package com.rd.lh.util.excel; import java.beans.PropertyDescriptor; import java.io.FileOutputStream; ...
- Java中用Apache POI生成excel和word文档
概述: 近期在做项目的过程中遇到了excel的数据导出和word的图文表报告的导出功能.最后决定用Apache POI来完毕该项功能.本文就项目实现过程中的一些思路与代码与大家共享.同一时候.也作为自 ...
随机推荐
- Python基础(8)_迭代器、生成器、列表解析
一.迭代器 1.什么是迭代 1 重复 2 下次重复一定是基于上一次的结果而来 l=[,,,] count= while count < len(l): print(l[count]) count ...
- openstack ha 部署
一.控制节点架构如下图: 二.初始化环境: 1.配置IP地址: 1.节点1:ip addr add dev eth0 192.168.142.110/24 echo 'ip addr add dev ...
- 留言处插入xss不弹框
对于新手来说,往往会在留言地方插入<script>alert(1)</script>来检测是否有存储xss,事实是基本上不会弹框的,为啥? 通过查看源码,可知道<> ...
- UVA11383 Golden Tiger Claw
题目 UVA11383 Golden Tiger Claw 做法 \(KM\)好题啊,满足所有边\(l(x)+l(y)≥w(x,y)\)(个人理解,如不对请及时留言),这样能满足\(\sum\limi ...
- python中threading多线程
python中有两个处理多线程的模块thread和threading.其中thread提供了多线程底层支持的模块,以低级原始的发那个是来处理和控制线程,使用起来较为复杂:而threading基于thr ...
- springboot---aop切片编程
1.介绍 面向切面编程,关注点代码与业务代码分离,就是给指定方法执行前执行后..插入重复代码 关注点:重复代码 切面:被切面的类 切入点:执行目标对象方法,动态植入切片代码 2.部署步骤 2.1:添加 ...
- ML 逻辑回归 Logistic Regression
逻辑回归 Logistic Regression 1 分类 Classification 首先我们来看看使用线性回归来解决分类会出现的问题.下图中,我们加入了一个训练集,产生的新的假设函数使得我们进行 ...
- Codeforces Round #386 (Div. 2) C D E G
一场比较简单的题 比较脑洞 C 如果坐车比较快的话 先走不如等车 所以最后的ans是min(纯走路,纯坐车) 讨论一下坐车时间 D 因为k一定是>=1的 所以当a=b的时候 GBGBGB这样间隔 ...
- springboot项目支持war部署tomcat
最近在学校spring boot 在网络上学校到简单的启动spring boot项目,也搭建好了,但时实际情况我的spring boot项目是要发布到tomcat中的,今天,随意打了个war包发布到t ...
- Spring AOP的一个比喻和IOC的作用
aop切面编程就是在常规的执行java类中方法前或执行后加入自定义的方法.比如你本来每天都去打酱油,去,打酱油,回.现在我每天在你打酱油路上等着,你去打酱油的时候我打你一顿,回来的时候给你点糖果吃.你 ...