后台导出方法:

 /**
* 后台导出方法
* 利用POI实现数据的批量导出
*/
public String export() throws Exception{
Connection con = null;
try{
con = dbUtil.getCon();
Workbook wb = new HSSFWorkbook();
String headers[] = {"编号", "姓名", "电话", "Email", "QQ"};
ResultSet rs = userDao.userList(con, null);
ExcelUtil.fillExcelData(rs, wb, headers); //把wb以流的形式输出
ResponseUtil.export(ServletActionContext.getResponse(), wb, "导出Excel.xls");
}catch(Exception e){
e.printStackTrace();
}finally{
try{
dbUtil.closeCon(con);
dbUtil.closeRs(rs);
}catch(Exception e){
e.printStackTrace();
}
} return null;
}

处理excel的Util:

 /**
* 处理Excel的util
*/
public class ExcelUtil{ public static void fillExcelData(ResultSet rs, Workbook wb, String[] headers) throws Exception{
int rowIndex = 0;
Sheet sheet = wb.createSheet();
Row row = sheet.createRow(rowIndex++);
for(int i=0; i<headers.length; i++){
row.createCell(i).setCellValue(headers[i]);
} //这里假设的是头的列数和数据的列数是一样的
while(rs.next()){
row = sheet.createRow(rowIndex++);
for(int i=0; i<headers.length; i++){
row.createCell(i).setCellValue(rs.getObject(i+1).toString());
}
}
}
}

ResponseUtil以流的形式导出Workbook:

 /**
* ResponseUtil相应util
*/
public class ResponseUtil{
public static void write(HttpServletResponse response, Object o) throws Exception{
response.setContentType("text/html;charset=utf-8");
PrintWriter pw = response.getWriter();
pw.print(o.toString());
pw.flush();
pw.close();
} /**
*导出Excel
* fileName: 导出的文件名
*/
public static void export(HttpServletResponse response, Workbook wb, String fileName) throws Exception{
response.setHeader("Content-Disposition", "attachment;filename="
+new String(fileName.getBytes("utf-8"), "iso8859-1"));
response.setContentType("application/ynd.ms-excel;charset=UTF-8");
OutputStream out = response.getOutputStream();
wb.write(out);
out.flush();
out.close();
}
}

导出的Excel:

java操作Excel之POI(4)利用POI实现数据的批量导出的更多相关文章

  1. java操作Excel、PDF文件

    java操作Excel.PDF文件 分享者:Vashon 分享来源:CSDN博客 下面这些是在开发中用到的一些东西,有的代码贴的不是完整的,只是贴出了关于操作EXCEL的代码: jxl是一个*国人写的 ...

  2. java操作Excel处理数字类型的精度损失问题验证

    java操作Excel处理数字类型的精度损失问题验证: 场景: CELL_TYPE_NUMERIC-->CELL_TYPE_STRING--->CELL_TYPE_NUMERIC POI版 ...

  3. java操作excel 工具类

    java操作excel 可参考https://blog.csdn.net/xunwei0303/article/details/53213130 直接上代码: 一.java生成excel文件: pac ...

  4. Java 操作 EXCEL

    今天帮朋友写了一段用来处理EXCEL内容的程序,在这里记录下自己的学习过程.主要是对EXCEL表格中的内容做分类和统计,使用计算机来做这种重复的机械性地工作再好不过了.首先,我们需要下载一个java操 ...

  5. JAVA操作Excel时文字自适应单元格的宽度设置方法

    使用JAVA操作Excel通常都使用JXL,方法很简单网上也有很多的教程,然后往往一些细节性的问题却导致我们这些Programmer苦恼不已.这两天帮一个朋友做一个Excel表格自动生成的小软件,就遇 ...

  6. jxl的使用总结(java操作excel)

    jxl.jar是通过java操作excel表格的工具类库: jxl.jar包:链接:http://pan.baidu.com/s/1o8qFJHw 密码:5jyq 1:通过模拟实现创建一个表格,然后模 ...

  7. Java操作Excel文件以及在Android中的应用

    本文章由临江仙原创,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/10286563 Excel作为一种有格式的文件,可以使用Java来对 ...

  8. 【转载】jxl的使用总结(java操作excel)

    jxl.jar是通过java操作excel表格的工具类库: 链接:https://pan.baidu.com/s/1AAT_eA_Q47zFeQohap6eQg 提取码:777b 1:通过模拟实现创建 ...

  9. java操作Excel之POI(5)利用POI实现使用模板批量导出数据

    后台导出方法: 在源文件夹src下面放个准备好的模板:/com/cy/template/userExportTemplate.xls,这个模板有头部一行: /** * 后台导出方法 * 利用POI实现 ...

随机推荐

  1. Mac自带的本地服务器的使用

    1. 打开终端,开启Apache: //开启apache: sudo apachectl start //重启apache: sudo apachectl restart //关闭apache: su ...

  2. Spring MVC和Spring Data JPA之按条件查询和分页(kkpaper分页组件)

    推荐视频:尚硅谷Spring Data JPA视频教程,一学就会,百度一下就有, 后台代码:在DAO层继承Spring Data JPA的PagingAndSortingRepository接口实现的 ...

  3. C++ primer 第四版 练习3.13,3.14

    读一组整数到 vector 对象,计算并输出每对相邻元素的 和.如果读入元素个数为奇数,则提示用户后一个元素 没有求和,并输出其值. vector<int> ivec; int ival; ...

  4. JSP--TOMCAT-MYSQL web页面删除

    deleteStudentjsp.jsp页面代码 <%@ page language="java" contentType="text/html; charset= ...

  5. react 学习日记

    1.本地配置代理服务:   create-react-app 创建的react项目 package.jsoin 中 加入: "proxy": "http://localh ...

  6. C# 跨线程更新UI界面的适当的处理方式,友好的退出界面的机制探索

    本文主要讲讲C#窗体的程序中一个经常遇到的情况,就是在退出窗体的时候的,发生了退出的异常. 工业软件技术交流群:群1:592132877(满)  群2:948305931     欢迎技术探讨 我们先 ...

  7. tensorflow中的参数初始化方法

    1. 初始化为常量 tf中使用tf.constant_initializer(value)类生成一个初始值为常量value的tensor对象. constant_initializer类的构造函数定义 ...

  8. Texas Instruments matrix-gui-2.0 hacking -- submenu.php

    <?php /* * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ * * * Redistrib ...

  9. memcpy - how to copy float* to float* variable

    how to copy float* to float* float* seg_segmap = new float[OUTPUT_H * OUTPUT_W]; float* temp = new f ...

  10. Unity 3D游戏-贪吃蛇类游戏源码:重要方法和功能的实现

    贪吃蛇类游戏源码 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 头部移动方式 2 生成 Shit 道具 ...