pom依赖
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.8</version> </dependency>
controller接口方法:
public void exportAppUserOrderRecordList(@RequestParam Map<String, Object> params, HttpServletResponse response) throws IOException { ServletOutputStream sos = null; try{ List appUserDtoList = new ArrayList(); response.reset(); sos = response.getOutputStream(); HSSFWorkbook workbook = orderRecordService.buildHSSFWorkbook(this.buildTableHead(),appUserDtoList); workbook.write(sos); response.setContentType("application/octet-stream;charset=UTF-8"); String fileName = new StringBuilder("用户导出").append("-").append(DateUtils.format(new Date(),"yyyyMMddHH")).toString(); response.setHeader("Content-Disposition","attachment; filename="+ URLEncoder.encode(fileName +".xls", "utf-8")); // response.setHeader("Pragma", "public"); // response.setHeader("Cache-Control","public"); }catch(Exception e){ e.printStackTrace(); }finally{ try { sos.flush(); } catch (IOException e) { e.printStackTrace(); } sos.close(); } }
service接口实现方法:
public <T> HSSFWorkbook buildHSSFWorkbook(Map<String, String> map, List<T> dataset) { // 声明一个工作薄 HSSFWorkbook workbook = new HSSFWorkbook(); // 生成一个表格 - sheet页的名称 HSSFSheet sheet = workbook.createSheet("用户申请导出"); // 设置表格默认列宽度为15个字节 sheet.setDefaultColumnWidth(15); // 产生表格标题行 下标从0开始 HSSFRow row = sheet.createRow(0); List<String> list = Arrays.asList(map.keySet().toArray(new String[map.keySet().size()])); for (int i = 0; i <list.size(); i++){ HSSFCell cell = row.createCell(i); cell.setCellValue(list.get(i)); } for(int i=0;i<dataset.size();i++){ row = sheet.createRow(i+1); List<String> fileNameList = Arrays.asList(map.values().toArray(new String[map.values().size()])); for (int j = 0; j < fileNameList.size(); j++){ HSSFCell cell = row.createCell(j); String value = null; try{ value = org.apache.commons.beanutils.BeanUtils.getProperty(dataset.get(i), fileNameList.get(j)); //value = dataset.get(i).get(fileNameList.get(j)); }catch (Exception e){ e.printStackTrace(); value=null; log.error("【用户申请记录导出】】异常" + fileNameList.get(j),e); } cell.setCellValue(value); } } log.info("【用户申请记录导出】条目:{}" + dataset.size()); return workbook; }
private Map<String, String> buildTableHead() { Map<String,String> map = new LinkedHashMap<String,String>(); map.put("用户ID","userId"); map.put("用户名", "userName"); map.put("手机号", "mobile"); map.put("来源渠道", "channel"); map.put("申请次数", "applyCount"); map.put("创建时间", "createTimeStr"); map.put("更新时间", "modifyTimeStr"); map.put("业务状态", "statusStr"); return map; }
参考地址:
https://blog.csdn.net/jimmy609/article/details/41038537 更大数量看这里
相关推荐
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>读入 <br><br>import org.apache.poi.hssf.usermodel.*;<br>import org.apache.poi.poifs.filesystem.*;<br>import java.io....
Map<Integer, Object[]> empinfo = new TreeMap<>(); int index = 1; empinfo.put(index++, new Object[]{"销售单号", "销售时间", "会员", "商品总额", "来源", "商品名称/属性", "数量", "单价"}); for ...
Java基于POI的导入导出excel功能,附带测试功能,项目基于Maven,导入即可用,带测试Main方法提供例子。 用于导入导出Excel的Util包,基于Java的POI。可将List<Bean>导出成Excel,或读取Excel成List<Bean>、Map...
spring boot2快速导出excel的示例源码 操作系统:windows10 JAVA jdk:1.8 开发工具:IDEA java架构:spring boot 2.1.6 gitHub:https://github.com/cn-h-jar/exportexcel 作者:jar 运行提示: 启动项目...
支持读取excel封装到实体,直接使用输出流导出,使用模版导出,具体使用方法 见jar 中的README.md。源码地址:View on GitOsc https://gitee.com/modoumama/modoumama-excel-utils maven添加 <repositories> ...
<groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>...
根据excel模板动态导出数据库数据 package text; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import javax.servlet....
按照XML格式保存数据(我们可以用EXCEL打开个表格文件,另存为...一定要注意,并且大小写敏感,但是存起来比较方法,能够满足基于页面数据的按照SHEET多次导出,做了个简单的页面表格导成XML TABLE的例子,可以看看效果
java导出Excel 时候 相同行合并(可合并多列); 已测试通过;
该工具类实现java导出树形结构的方法,并未采用excel分组功能实现,而是根据树节点显示层级设置excel样式。针对easyUi,treeGrid开发的导出excel功能。方法简便实用、性强、通俗易懂。项目中亲测,no problem。
java导出excel POI jar包 java代码地址http://blog.csdn.net/awenluck/article/details/51488537
用Java语言采用接口设计模式、代理设计模式、工厂设计模式实现对excel中的表实现基本的导出(写)功能,把一个对象集合输出到一个excel表中。 【基本功能】 将对象集合导出到Excel表 【扩展功能】 1、自由设置表头 2...
java实现excel的导入导出(poi详解),经过测试poi效率要比jxl要高很多,特别是数据量大的时候jxl根本无法用肉眼入目,本资源是个可运行项目demo,很有参考价值!
java导出excel超过65536条记录出错 java导出excel超过65536条记录出错 java导出excel超过65536条记录出错 java导出excel超过65536条记录出错
* 描述:Excel 导出工具类 <br> * * @package :com.andy.demo.execltools.exports<br> * @file :ExcelToolsExport.java<br> * @author :wanglongjie<br> * @createDate :2015年12月2日下午2:20:18<br> *...
本资源实现了Excel的简单导出实例,同时也实现了导出Excel复合表头的简单实例,适合一些需要用到导出Excel技术的初学者。
支持从List<Map>中导出. 支持从List<POJO>中导入导出. 支持从List<POJO里面还有List<POJO>>中导入导出. 支持导出类似课程表结构类型纵表. 支持国际化. 支持数据字典. 支持单元格中下拉框数据校验. 支持自动标红错误...
java导出excel
资源描述:一个使用java做的导出数据,并且可以在excel表生成折线图的工具类,使用简单操作方便。
使用jxl导出excel,包含项目和对应jar包和数据库文件,数据来源于数据库。