通用导出功能:
1.支持Excel xlsx、xls
2.支持CSV文件导出
3.数据库查询分页导出、内存导出
4.支持大批量数据导出
使用步骤如下
导入jar
com.github.catdou
common-export
1.3
导出方式一:List 数据导出
1.创建每一列对应的po字段映射关系
public ExportParam buildUserExportParam() {
Map fieldColumnMap = new HashMap<>();
fieldColumnMap.put("A", "userName");
fieldColumnMap.put("C", "seq");
fieldColumnMap.put("B", "passWord");
// build setter method
List getterMethod = ExportCommon.buildParamGetter(User.class, fieldColumnMap);
return new ExportParam()
.setHeader("username,password,seq")
.setGetterMethod(getterMethod);
}
2.导出数据到文件
csv 文件
public void testExportCsvPath() {
String exportDir = "file" + File.separator + UUID.randomUUID().toString();
File dirFile = new File(exportDir);
dirFile.mkdirs();
String filePath = exportDir + File.separator + "test.csv";
ExportParam exportParam = buildUserExportParam();
CsvExport csvExport = new CsvExport(filePath, exportParam);
List userList = createDataList(100);
csvExport.exportList(userList);
}
excel 文件
public void testManySheet() {
String exportDir = "file" + File.separator + UUID.randomUUID().toString();
File dirFile = new File(exportDir);
dirFile.mkdirs();
String filePath = exportDir + File.separator + "test-many.xlsx";
ExportParam exportParam1 = buildUserExportParam();
ExportParam exportParam2 = buildUserExportParam();
Map exportParamMap = new HashMap<>(16);
exportParamMap.put(0, exportParam1);
exportParamMap.put(1, exportParam2);
ExcelMultiSheetExport excelMultiSheetExport = new ExcelMultiSheetExport(filePath, null,
false, exportParamMap);
List userList = createDataList(Constants.EXCEL_MAX_ROW_XLSX * 3);
excelMultiSheetExport.exportListByParamIndex(userList, 0);
excelMultiSheetExport.exportListByParamIndex(userList, 1, true);
}
导出方式二:数据获取方法导出
数据量比较大的情况,这时候需要分页查询导出,需要设置查询方法,符合条件数据的总条数
public void testExcel2007() {
ExportParam exportParam = buildUserExportParam();
String exportDir = "file" + File.separator + UUID.randomUUID().toString();
File dirFile = new File(exportDir);
dirFile.mkdirs();
String filePath = exportDir + File.separator + "test.xlsx";
List userList = createDataList(Constants.EXCEL_MAX_ROW_XLSX * 2);
BaseExport baseExport = new ExcelExport(filePath, null, false, exportParam);
baseExport.exportList(userList);
}
public void testManySheet() {
String exportDir = "file" + File.separator + UUID.randomUUID().toString();
File dirFile = new File(exportDir);
dirFile.mkdirs();
String filePath = exportDir + File.separator + "test-many.xlsx";
ExportParam exportParam1 = buildUserExportParam();
ExportParam exportParam2 = buildUserExportParam();
Map exportParamMap = new HashMap<>(16);
exportParamMap.put(0, exportParam1);
exportParamMap.put(1, exportParam2);
ExcelMultiSheetExport excelMultiSheetExport = new ExcelMultiSheetExport(filePath, null,
false, exportParamMap);
List userList = createDataList(Constants.EXCEL_MAX_ROW_XLSX * 3);
excelMultiSheetExport.exportListByParamIndex(userList, 0);
excelMultiSheetExport.exportListByParamIndex(userList, 1, true);
}
项目地址
如果大家有好的想法,fork代码到你的仓库,然后pull request.
Java导出Excel和CSV(简单Demo)
Java导出Excel和CSV的简单实现,分别使用POI和JavaCSV. JavaBean public class ReportInfo { int id; String date; int nu ...
ASP.NET Core 导入导出Excel xlsx 文件
ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...
Java 解析Excel(xls、xlsx两种格式)
Java 解析Excel(xls.xlsx两种格式) 一.环境 JDK 1.8 二.JAR 1.commons-collections4-4.1.jar 2.poi-3.9-20121203.jar ...
[转载]Java导出Excel
一.需求介绍 当前B/S模式已成为应用开发的主流,而在开发企业办公系统的过程中,常常有客户这样子要求:把系统数据库中的数据导出到Excel,用户查看报表时直接用Excel打开.或者是:用户已经习惯用E ...
java导出excel表格
java导出excel表格: 1.导入jar包 org.apache.poi
java导出excel报表
1.java导出excel报表: package cn.jcenterhome.util; import java.io.OutputStream;import java.util.List;impo ...
java导出excel工具类
java导出excel须要使用HSSFWorkbook这个类,须要导入poi-3.6-20091214.jar 工具类调用例如以下: package com.qlwb.business.util; i ...
java导出excel模板数据
Java导出excel数据模板,这里直接贴代码开发,流程性的走下去就是步骤: String[] colName=new String[]{"期间","科目代码" ...
随机推荐
erlang rabbitmq-server安装
erlang rabbitmq-server安装 yum -y install xsltproc fop tk unixODBC unixODBC-devel make gcc gcc-c++ k ...
Asp.net MVC 4 Html帮助类
Html帮助类 used to render (modify and output) HTML form elements 用来渲染HTML表单元素(修改和输出) Html.ActionLink 输出 ...
【HDOJ】2428 Stars
先排序后二分. #include #include #include #include
javascript函数的基础功能