您的位置:首页 > 运维架构 > Apache

Apache POI 第六讲之利用Excel模板实现数据的批量导出

2016-07-06 21:26 796 查看
有时候我们在做项目时,有些项目需要生成Microsoft Excel文件格式的报告。有时,甚至希望将Excel文件作为输入数据。这是我们需要用到Apache POI 。例如,一个公司开发的应用程序将财务部门需要所有输出生成自己的Excel。

利用Excel模板实现数据的批量导出

[b]1.编写导出工具类[/b]

public static Workbook fillExcelDataWithTemplate(ResultSet rs ,String templateFile) throws Exception {
InputStream inp = ExcelUtil.class.getResourceAsStream("/com/wenteryan/template/"+templateFile) ;
POIFSFileSystem fs = new POIFSFileSystem(inp) ;
Workbook wb = new HSSFWorkbook(fs) ;
Sheet sheet = wb.getSheetAt(0) ;
int cellNums = sheet.getRow(0).getLastCellNum() ;
int rowIndex = 1 ;
while(rs.next()) {
Row row = sheet.createRow(rowIndex++) ;
for(int i=0; i<cellNums; i++) {
row.createCell(i).setCellValue(rs.getObject(i+1).toString()) ;
}
}
return wb ;
}


[b]2.编写action类导出方法[/b]

public String export2() throws Exception{
Connection con=null;
try {
con=dbUtil.getCon();
Workbook wb= ExcelUtil.fillExcelDataWithTemplate(userDao.userList(con, null), "userExporTemplate.xls") ;
ResponseUtil.export(ServletActionContext.getResponse(), wb, "利用模板导出excel.xls");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}


[b]3.编写页面[/b]

function exportUser2(){
window.open('user!export2') ;
}


[b]5.查看结果[/b]





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  apache 数据 poi excel easyui