Gradle
implementation group: 'com.alibaba', name: 'easyexcel', version: '2.2.6'
Maven
<dependency>
<groupId>com.alibabagroupId>
<artifactId>easyexcelartifactId>
<version>2.2.6version>
dependency>
//保存路径与名字
private final static String fileName = "E:\\" + System.currentTimeMillis() + ".xlsx";
@Test
// public static void easyUtil(List heads,String head,List
public void easyUtil(){
List<String> heads = new ArrayList<>(); //表头信息
heads.add("银行名称");
heads.add("期间新增项目");
heads.add("期间新增担保总额");
heads.add("期间新增解保项目数");
heads.add("期间新增解保金额");
heads.add("在保项目数");
heads.add("在保余额");
heads.add("银行利率");
String head="惠农通数据表"; //主表头
List<Map<String, Object>> list = new ArrayList<>();
Map<String,Object> test = new LinkedHashMap<>(); //手动添加测试数据(可根据需要从数据库查询)
test.put("t1", 1);
test.put("t2", 2);
test.put("t3", 3);
test.put("t4", 4);
test.put("t5", 5);
test.put("t6", 6);
test.put("t7", 7);
test.put("t8", 8);
list.add(test);
Map<String,Object> test2 = new LinkedHashMap<>();
test.put("t1", 1);
test.put("t2", 2);
test.put("t3", 3);
test.put("t4", 4);
test.put("t5", 5);
test.put("t6", 6);
test.put("t7", 7);
test.put("t8", 8);
list.add(test2);
List<Object> objects = new ArrayList<>();
List<List<String>> hs = new ArrayList<>();
for (String s : heads) {
hs.add(Arrays.asList(head,s));
}
// List
Collection<Object> values;
List<List<Object>> list2 = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
values = list.get(i).values();
for (Object value : values) {
objects.add(value.toString());
}
list2.add(objects);
}
EasyExcel.write(fileName).head(hs).sheet("模板").doWrite(list2);
System.out.println("导出成功");
}
//保存路径与名字(也可以放进工具类,通过参数传递)
private final static String fileName = "E:\\" + System.currentTimeMillis() + ".xlsx";
/**
* 简易版动态导出
* @param heads 表头
* @param head 主表头
* @param list 表数据
*/
@Test
public static void easyUtil(List<String> heads,String head,List<Map<String, Object>> list){
// public void easyUtil(){
List<Object> objects = new ArrayList<>();
List<List<String>> hs = new ArrayList<>();
for (String s : heads) {
hs.add(Arrays.asList(head,s));
}
// List
Collection<Object> values;
List<List<Object>> list2 = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
values = list.get(i).values();
for (Object value : values) {
objects.add(value.toString());
}
list2.add(objects);
}
EasyExcel.write(fileName).head(hs).sheet("模板(sheet名字)").doWrite(list2);
System.out.println("导出成功");
}
package excel;
import com.alibaba.excel.EasyExcel;
import java.util.*;
/**
* @author xu
* @Description
* @createTime 2021年05月06日 11:45:00
*/
public class test {
public static void main(String[] args) {
List<String> heads = new ArrayList<>(); //表头信息
heads.add("银行名称");
heads.add("期间新增项目");
heads.add("期间新增担保总额");
heads.add("期间新增解保项目数");
heads.add("期间新增解保金额");
heads.add("在保项目数");
heads.add("在保余额");
heads.add("银行利率");
String head="惠农通数据表"; //主表头
List<Map<String, Object>> list = new ArrayList<>();
Map<String,Object> test = new LinkedHashMap<>(); //手动添加测试数据(可根据需要从数据库查询)
test.put("t1", 1);
test.put("t2", 2);
test.put("t3", 3);
test.put("t4", 4);
test.put("t5", 5);
test.put("t6", 6);
test.put("t7", 7);
test.put("t8", 8);
list.add(test);
Map<String,Object> test2 = new LinkedHashMap<>();
test.put("t1", 1);
test.put("t2", 2);
test.put("t3", 3);
test.put("t4", 4);
test.put("t5", 5);
test.put("t6", 6);
test.put("t7", 7);
test.put("t8", 8);
list.add(test2);
easyUtil(heads,head,list);
}
private final static String fileName = "E:\\" + System.currentTimeMillis() + ".xlsx";
public static void easyUtil(List<String> heads,String head,List<Map<String, Object>> list){
// public void easyUtil(){
List<Object> objects = new ArrayList<>();
List<List<String>> hs = new ArrayList<>();
for (String s : heads) {
hs.add(Arrays.asList(head,s));
}
// List
Collection<Object> values;
List<List<Object>> list2 = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
values = list.get(i).values();
for (Object value : values) {
objects.add(value.toString());
}
list2.add(objects);
}
EasyExcel.write(fileName).head(hs).sheet("模板(sheet名字)").doWrite(list2);
System.out.println("导出成功");
}
}
如有问题!欢迎大家评论讨论