1、创建maven工程,引用
<!--easyExcel-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.0.5</version>
</dependency>
2、创建模板
3、代码实现
package com.meng.example.easyexcel;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.fill.FillConfig;
import com.alibaba.excel.write.metadata.fill.FillWrapper;
import lombok.Data;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ExportTest {
public static void main(String[] args) {
String outPath = "C:\\Users\\Administrator\\Desktop\\export.xlsx";
String path = System.getProperty("user.dir");
String templatePath = path + "/src/main/resources/templates/template.xlsx";
//构建测试数据
List<FillData> fillIntDataList = buildListFillData(5);
List<FillData> fillOutDataList = buildListFillData(10);
Map<String,Object> map = null;
//工作簿对象
ExcelWriter excelWriter = EasyExcel.write(outPath).withTemplate(templatePath).build();
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
//工作区对象
WriteSheet writeSheet = EasyExcel.writerSheet(0,"测试0").build();
map = new HashMap<>();
map.put("name","add");
map.put("description","新增方法");
excelWriter.fill(map,writeSheet);
excelWriter.fill(new FillWrapper("data1",fillIntDataList),fillConfig,writeSheet);
excelWriter.fill(new FillWrapper("data2",fillOutDataList),fillConfig,writeSheet);
// writeSheet = EasyExcel.writerSheet(1,"测试1").build();
// map = new HashMap<>();
// map.put("name","update");
// map.put("description","修改方法");
// excelWriter.fill(map,writeSheet);
// excelWriter.fill(new FillWrapper("data1",fillIntDataList),fillConfig,writeSheet);
// excelWriter.fill(new FillWrapper("data2",fillOutDataList),fillConfig,writeSheet);
//
// writeSheet = EasyExcel.writerSheet(2,"测试2").build();
// map = new HashMap<>();
// map.put("name","delete");
// map.put("description","删除方法");
// excelWriter.fill(map,writeSheet);
// excelWriter.fill(new FillWrapper("data1",fillIntDataList),fillConfig,writeSheet);
// excelWriter.fill(new FillWrapper("data2",fillOutDataList),fillConfig,writeSheet);
excelWriter.finish();
}
private static List<FillData> buildListFillData(int num) {
List<FillData> fillDataList = new ArrayList<>();
for(int i=0;i<num;i++){
FillData fillData = new FillData();
fillData.setFieldName("fn"+i);
fillData.setComments("说明"+i);
fillData.setDataType("String");
fillData.setDataLength(10+i);
fillData.setRequired(i/2==0);
fillDataList.add(fillData);
}
return fillDataList;
}
}
@Data
class FillData{
private String fieldName;
private String comments;
private String dataType;
private int dataLength;
private boolean isRequired;
}
4、导出结果