EasyExcel 固定表头和动态数据
时间: 2024-06-13 20:08:03 浏览: 143
根据提供的引用内容,EasyExcel可以通过两种方式实现固定表头和动态数据:
1. 不创建对象根据EasyExcel API设置表头数据,设置内容数据。因为该方法即可以设置左侧目录,又可以设置动态表头。具体实现代码如下:
```java
// 设置表头数据
List<List<String>> head = new ArrayList<List<String>>();
List<String> headCoulumn1 = new ArrayList<String>();
headCoulumn1.add("姓名");
List<String> headCoulumn2 = new ArrayList<String>();
headCoulumn2.add("年龄");
List<String> headCoulumn3 = new ArrayList<String>();
headCoulumn3.add("性别");
head.add(headCoulumn1);
head.add(headCoulumn2);
head.add(headCoulumn3);
// 设置内容数据
List<List<Object>> dataList = new ArrayList<List<Object>>();
List<Object> dataColumn1 = new ArrayList<Object>();
dataColumn1.add("张三");
List<Object> dataColumn2 = new ArrayList<Object>();
dataColumn2.add(18);
List<Object> dataColumn3 = new ArrayList<Object>();
dataColumn3.add("男");
dataList.add(dataColumn1);
dataList.add(dataColumn2);
dataList.add(dataColumn3);
// 写入Excel文件
EasyExcel.write(fileName).head(head).sheet(sheetName).doWrite(dataList);
```
2. 通过写数据的方式实现动态表头和内容数据。具体实现代码如下:
```java
// 设置表头数据
List<String> head = new ArrayList<String>();
head.add("姓名");
head.add("年龄");
head.add("性别");
// 设置内容数据
List<List<Object>> dataList = new ArrayList<List<Object>>();
List<Object> dataColumn1 = new ArrayList<Object>();
dataColumn1.add("张三");
dataColumn1.add(18);
dataColumn1.add("男");
List<Object> dataColumn2 = new ArrayList<Object>();
dataColumn2.add("李四");
dataColumn2.add(20);
dataColumn2.add("女");
dataList.add(dataColumn1);
dataList.add(dataColumn2);
// 写入Excel文件
ExcelWriter excelWriter = EasyExcel.write(fileName).build();
WriteSheet writeSheet = EasyExcel.writerSheet(sheetName).build();
// 写入表头数据
excelWriter.write(new ArrayList<List<String>>(){{add(head);}}, writeSheet);
// 写入内容数据
excelWriter.write(dataList, writeSheet);
excelWriter.finish();
```
阅读全文