java操作Excel之POI(4)利用POI实现数据的批量导出
后台导出方法:
- /**
- * 后台导出方法
- * 利用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实现数据的批量导出的更多相关文章
- java操作Excel、PDF文件
java操作Excel.PDF文件 分享者:Vashon 分享来源:CSDN博客 下面这些是在开发中用到的一些东西,有的代码贴的不是完整的,只是贴出了关于操作EXCEL的代码: jxl是一个*国人写的 ...
- java操作Excel处理数字类型的精度损失问题验证
java操作Excel处理数字类型的精度损失问题验证: 场景: CELL_TYPE_NUMERIC-->CELL_TYPE_STRING--->CELL_TYPE_NUMERIC POI版 ...
- java操作excel 工具类
java操作excel 可参考https://blog.csdn.net/xunwei0303/article/details/53213130 直接上代码: 一.java生成excel文件: pac ...
- Java 操作 EXCEL
今天帮朋友写了一段用来处理EXCEL内容的程序,在这里记录下自己的学习过程.主要是对EXCEL表格中的内容做分类和统计,使用计算机来做这种重复的机械性地工作再好不过了.首先,我们需要下载一个java操 ...
- JAVA操作Excel时文字自适应单元格的宽度设置方法
使用JAVA操作Excel通常都使用JXL,方法很简单网上也有很多的教程,然后往往一些细节性的问题却导致我们这些Programmer苦恼不已.这两天帮一个朋友做一个Excel表格自动生成的小软件,就遇 ...
- jxl的使用总结(java操作excel)
jxl.jar是通过java操作excel表格的工具类库: jxl.jar包:链接:http://pan.baidu.com/s/1o8qFJHw 密码:5jyq 1:通过模拟实现创建一个表格,然后模 ...
- Java操作Excel文件以及在Android中的应用
本文章由临江仙原创,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/10286563 Excel作为一种有格式的文件,可以使用Java来对 ...
- 【转载】jxl的使用总结(java操作excel)
jxl.jar是通过java操作excel表格的工具类库: 链接:https://pan.baidu.com/s/1AAT_eA_Q47zFeQohap6eQg 提取码:777b 1:通过模拟实现创建 ...
- java操作Excel之POI(5)利用POI实现使用模板批量导出数据
后台导出方法: 在源文件夹src下面放个准备好的模板:/com/cy/template/userExportTemplate.xls,这个模板有头部一行: /** * 后台导出方法 * 利用POI实现 ...
随机推荐
- <NET CLR via c# 第4版>笔记 第11章 事件
11.1 设计要公开事件的类型 11.1.1 第一步: 定义类型来容纳所有需要发送给事件通知接收者的附加信息 //第一步:定义一个类型来容纳所有应该发送给事件通知接收者的附加信息 internal c ...
- 201621123010《Java程序设计》第10周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1. 常用异常 结合题集题目7-1回答 1.1 自己以前编写的代码中经常出现 ...
- SharePoint Word Service-PowerShell
1. 配置转换进程 Set-SPWordConversionServiceApplication –Identity "Word Automation Services" –Act ...
- screen 命令 http://man.linuxde.net/screen
http://man.linuxde.net/screen -A 将所有的视窗都调整为目前终端机的大小. -d <作业名称> 将指定的screen作业离线. -h <行数> 指 ...
- nw + iframe嵌入page 滚动条问题
iframe 加载完之后会在原尺寸基础上增加4像素(因此我用以下方法处理): <iframe id="myiframe" style="visibility: hi ...
- CS231n 斯坦福深度视觉识别课 学习笔记(完结)
课程地址 第1章 CS231n课程介绍 ---1.1 计算机视觉概述 这门课的主要内容是计算机视觉.它是一门需要涉及很多其他科目知识的学科. 视觉数据占据了互联网的绝大多数,但是它们很难利用. --- ...
- js 如何控制文本域输入内容在一定间隔时间段才触发事件查询相关数据
<script>var flag = 0;var t;function openFlag () { t = setTimeout(function(){flag = 1; dosometh ...
- Linux Shell查看物理CPU个数、核数、逻辑CPU个数
Linux Shell常用命令: ====================================== # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理C ...
- Java8 (Function,Consumer,Predicate,Supplier)详解
1. https://blog.csdn.net/lzm18064126848/article/details/70199769 1.1 https://blog.csdn.net/turbo_zon ...
- 租酥雨的NOIP2018赛前日记
租酥雨的NOIP2018赛前日记 离\(\mbox{NOIP2018}\)只剩下不到一个月的时间辣! 想想自己再过一个月就要退役了,觉得有必要把这段时间的一些计划与安排记录下来. 就从国庆收假开始吧. ...