最近公司的项目需要给客户公司的员工做考勤,并且需要将系统中的考勤导出成excel。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.1</version>
</dependency>
动态表头及插入数据
public static void main(String[] args) {
String fileName = "dynamicHeadWrite" + System.currentTimeMillis() + ".xlsx";
EasyExcel.write(fileName)
// 动态表头,类型: List<List<String>>
.head(head()).sheet("模板")
// 动态数据,类型: List<List<String>>
.doWrite(data());
}
private static List<List<String>> head() {
List<List<String>> list = new ArrayList<>();
List<String> head0 = new ArrayList<>();
head0.add("字符串" + System.currentTimeMillis());
List<String> head1 = new ArrayList<>();
head1.add("数字" + System.currentTimeMillis());
List<String> head2 = new ArrayList<>();
head2.add("日期" + System.currentTimeMillis());
list.add(head0);
list.add(head1);
list.add(head2);
return list;
}
private static List<List<String>> data() {
List<List<String>> list = new ArrayList<>();
List<String> list01 = new ArrayList<>();
list01.add("111");
list01.add("222");
list01.add("333");
List<String> list02 = new ArrayList<>();
list02.add("aaa");
list02.add("bbb");
list02.add("ccc");
List<String> list03 = new ArrayList<>();
list03.add(",,,");
list03.add("...");
list03.add("///");
list.add(list01);
list.add(list02);
list.add(list03);
return list;
}