后台导出方法:

 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:

转载于:https://www.cnblogs.com/tenWood/p/6426752.html

java操作Excel之POI(4)利用POI实现数据的批量导出相关推荐

  1. java excel读取操作,Java 操作 Excel (读取Excel2003 2007,Poi兑现)

    Java 操作 Excel (读取Excel2003 2007,Poi实现) 一. Apache POI 简介( http://poi.apache.org/) 使用Java程序读写Microsoft ...

  2. 使用python操作excel的xls文件和xlsx文件之间的批量导出和填充数据

    引言 我前面的博客基本上已经把python批量操作excel的方法说了个八成.但是,今天突然又发现一个问题,于是在此继续记录我遇到的这个问题,以供以后的工作借鉴,同时也与各位网友共享.这个问题就是:有 ...

  3. java excel api 下载文件_Java-Excel Java操作Excel POI(Jakarta POI API) - 下载 - 搜珍网

    Java操作Excel/Jakarta POI API/data/Jakarta POI API.doc Java操作Excel/Jakarta POI API/jar/poi-3.0.2-FINAL ...

  4. Java操作Excel三种方式POI、Hutool、EasyExcel

    Java操作Excel三种方式POI.Hutool.EasyExcel 1. Java操作Excel概述 1.1 Excel需求概述 1.2 Excel操作三种方式对比 2. ApachePOIExc ...

  5. Java操作Excel之POI:java读写excel文件以及打印设置

    Java操作Excel之POI:java读写excel文件以及打印设置 POI的jar包下载地址:http://poi.apache.org/download.html 注意:项目中导入poi 4.0 ...

  6. java insert row,POI ,Java 操作 Excel 实现行的插入(insert row)

    POI ,Java 操作 Excel 实现行的插入(insert row) 前几天,正在做一个项目,主要用 POI 来操作 Excel 其中,要使用一个,插入功能.主要是因为从数据库,返回结果集(数据 ...

  7. java操作Excel、PDF文件

    java操作Excel.PDF文件 下面这些是在开发中用到的一些东西,有的代码贴的不是完整的,只是贴出了关于操作EXCEL的代码: jxl是一个*国人写的java操作excel的工具, 在开源世界中, ...

  8. java操作excel表

    文章分类:Java编程 http://developers.sun.com.cn/blog/functionalca/entry/java读写excel简介 JAVA EXCEL API简介 Java ...

  9. java操作excel的工具

    jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一点.但jExcelAPI对中文 ...

最新文章

  1. 机房布线的最高境界……
  2. UVa10905 - Children's Game(贪心算法)
  3. find命令的exec参数使用---Linux学习笔记
  4. Java并发篇_synchronized
  5. 20172316 结对编程-四则运算 第一周 阶段总结
  6. HTML5开发常见的7个框架,不可不知,收藏啦
  7. 计算机用户改路径,如何更改win7 Users(用户文件夹)文件存放位置?
  8. objective-C nil,Nil,NULL 和NSNull的小结
  9. 买手机数据线特别要注意的地方
  10. vscode中文设置不生效_vscode 无法设置中文怎么办
  11. python 面向对象全面详解
  12. 华为路由器时间同步_华为路由器肿么和互联网时间同步
  13. root工具android10,KingRoot安卓10root工具 5.4.0最新版
  14. 脱壳基础篇——常用六操作
  15. 百度搜索算法全解析SEO课程笔记
  16. 旅游背包(多维有界的背包问题)
  17. html调用properties,聊聊html中的properties和attributes
  18. yuv与rgb图像格式转换
  19. 计算机颜色管理器,Windows7色彩管理显示器ICC设置方法
  20. DICOM 图像传输:使用 LeadTools 实现 C-Store SCP 服务

热门文章

  1. 项目管理中的流程管理
  2. 深度学习 tensorflow 计算图,会话,张量
  3. OpenCV-python学习笔记(五)——shreshoding阈值化
  4. c语言网络定向拉取数据,用C模拟了一个http请求,但是recv函数接收的数据不完整且欠安顺序获取信息...
  5. 命名实体识别(NER)资料收集
  6. a16z和斯坦福大学区块链研究中心将于5月4日举行NFT虚拟峰会
  7. 波卡生态DAO基础设施完成150万美元战略融资
  8. 企业数字化劳动力-Srise RPA产品
  9. SAP License:物料账差异
  10. SAP License:BASIS 事务代码速记