java操作Excel之POI(4)利用POI实现数据的批量导出
2017-02-21 22:41
1141 查看
后台导出方法:
View Code
处理excel的Util:
ResponseUtil以流的形式导出Workbook:
导出的Excel:
1 /** 2 * 后台导出方法 3 * 利用POI实现数据的批量导出 4 */ 5 public String export() throws Exception{ 6 Connection con = null; 7 try{ 8 con = dbUtil.getCon(); 9 Workbook wb = new HSSFWorkbook(); 10 String headers[] = {"编号", "姓名", "电话", "Email", "QQ"}; 11 ResultSet rs = userDao.userList(con, null); 12 ExcelUtil.fillExcelData(rs, wb, headers); 13 14 //把wb以流的形式输出 15 ResponseUtil.export(ServletActionContext.getResponse(), wb, "导出Excel.xls"); 16 }catch(Exception e){ 17 e.printStackTrace(); 18 }finally{ 19 try{ 20 dbUtil.closeCon(con); 21 dbUtil.closeRs(rs); 22 }catch(Exception e){ 23 e.printStackTrace(); 24 } 25 } 26 27 return null; 28 }
View Code
处理excel的Util:
1 /** 2 * 处理Excel的util 3 */ 4 public class ExcelUtil{ 5 6 public static void fillExcelData(ResultSet rs, Workbook wb, String[] headers) throws Exception{ 7 int rowIndex = 0; 8 Sheet sheet = wb.createSheet(); 9 Row row = sheet.createRow(rowIndex++); 10 for(int i=0; i<headers.length; i++){ 11 row.createCell(i).setCellValue(headers[i]); 12 } 13 14 //这里假设的是头的列数和数据的列数是一样的 15 while(rs.next()){ 16 row = sheet.createRow(rowIndex++); 17 for(int i=0; i<headers.length; i++){ 18 row.createCell(i).setCellValue(rs.getObject(i+1).toString()); 19 } 20 } 21 } 22 }
ResponseUtil以流的形式导出Workbook:
1 /** 2 * ResponseUtil相应util 3 */ 4 public class ResponseUtil{ 5 public static void write(HttpServletResponse response, Object o) throws Exception{ 6 response.setContentType("text/html;charset=utf-8"); 7 PrintWriter pw = response.getWriter(); 8 pw.print(o.toString()); 9 pw.flush(); 10 pw.close(); 11 } 12 13 /** 14 *导出Excel 15 * fileName: 导出的文件名 16 */ 17 public static void export(HttpServletResponse response, Workbook wb, String fileName) throws Exception{ 18 response.setHeader("Content-Disposition", "attachment;filename=" 19 +new String(fileName.getBytes("utf-8"), "iso8859-1")); 20 response.setContentType("application/ynd.ms-excel;charset=UTF-8"); 21 OutputStream out = response.getOutputStream(); 22 wb.write(out); 23 out.flush(); 24 out.close(); 25 } 26 }
导出的Excel:
相关文章推荐
- java操作Excel之POI(5)利用POI实现使用模板批量导出数据
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表
- Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- java操作Excel之POI(6)使用POI实现使用模板批量添加数据
- JavaWeb 利用POI实现前端数据到Excel导出
- java利用poi对excel进行操作可导入导出
- java利用poi导出数据到excel
- 详解JAVA POI导出EXCEL报表的操作(包括各种格式及样式的实现)
- Apache POI 第六讲之利用Excel模板实现数据的批量导出
- java poi实现数据库数据导出到excel
- Java使用POI实现数据导出excel报表
- JAVA利用POI实现excel的导入导出
- java利用poi导出数据到excel里
- Apache POI 第五讲之利用POI 实现数据的批量导出
- Java通过POI技术操作Excel(3)----数据导出
- Java使用POI实现数据导出excel报表
- JAVA实现数据库数据导入/导出到Excel(POI技术)
- JAVA实现数据库数据导入/导出到Excel(POI)