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来完毕该项功能.本文就项目实现过程中的一些思路与代码与大家共享.同一时候.也作为自 ...
随机推荐
- HDF 文件数据的读取
http://www.cams.cma.gov.cn/cams_973/cheres_docs/cheres_doc_sat.modis.1b.html一. HDF文件格式 1.概述 HDF 是美国国 ...
- iOS 视图控制器转场动画/页面切换效果/跳转动画 学习
一 学习 在 UINavigationController 中 push 和 pop 的转场效果 (基于iOS7 以上的转场方式) 经过学习了解到,重点分三块: (1)pushAnimation: ...
- VC引用动态库
1. 程序所在目录 2. 进程当前目录 3. 系统目录(C:\WINDOWS\System32) 4. Windows目录(C:\WINDOWS) 5. PATH环境变量指向的目录
- $Android连续按返回键两次实现退出程序
思路:重写Activity的onKeyDown方法,判断按键是不是返回键,如果是,则再判断按下的时间和上次按下的时间之间的差值(毫秒数)是不是大于2000,如果不大于,则用finish()方法结束程序 ...
- 自己动手编译Android源码(超详细)
http://www.jianshu.com/p/367f0886e62b 在Android Studio代码调试一文中,简单的介绍了代码调试的一些技巧.现在我们来谈谈android源码编译的一些事. ...
- CSS3中新颖的布局方法
本人已经很久没用 bootstrap 什么的了,而现阶段一点卑微的梦想就是自己做框架,毕竟也才入门不久. 所以在寻找布局的共通性/稳定性及拓展性时,会发觉 CSS3 的这三种方法比栅栏布局要有趣得多. ...
- 苹果终端wifi图标点亮慢和portal弹窗机制分析以及处理办法和建议
转:http://kms.h3c.com/View.aspx?id=52875 问题现象 在无线环境中经常碰到苹果终端连接无线后wifi图标无法点亮导致终端无法上网.在起portal的网络中认证页面无 ...
- 递归实现N皇后问题
其实是看到一位名为“活在二次元的伪触”的博主昨天还是前天写了篇这个题材的笔记,觉得有点意思,于是想自己来写写. 其实我发现上述那位同学写N皇后问题写得还不错,文末也会给出这位同学用通过递归的方法实现N ...
- Yii技巧大全(摘录)
Yii技巧大全(摘录) db组件 'schemaCachingDuration'=>3600, 为什么不起做用? 需要开缓存 如何在页面下边显示sql的查询时间 在log组件的routes中加入 ...
- Spring Boot2.0之 整合XXL-Job
参考git上面的 springboot demo 创建maven工程: pom: <project xmlns="http://maven.apache.org/POM/4.0.0&q ...