0.jar包依赖
这里注意如果项目引入的有poi相关jar包的话可能会出现jar包版本冲突的问题
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
1.DemoData文件:
/**
* @author 李光辉
* @version 1.0
* @date 2022/12/27 16:01
*/
@Data
public class DemoData {
@ExcelProperty("金额")
private String a;
@ExcelProperty("数量")
private Long b;
@ExcelProperty("名字")
private String c;
}
2.window环境在本地生成test.xlsx文件demo。
windows环境往C盘创建文件可能会有权限问题,关闭IDEA重新以管理员身份打开可以解决此问题。
/**
* @author 李光辉
* @version 1.0
* @date 2022/12/29 15:51
*/
public class ExcelWriteDemo {
/**
* @param fileName 文件名字
* @param head 数据类的类型
* @param list 需要填充进excel的数据集合
* @throws IOException
*/
public static void createExcelFile(String fileName, Class head, List<DemoData> list) {
File file = new File(fileName);
try {
file.createNewFile();
} catch (IOException e) {
System.out.println("创建文件异常");
return;
}
ExcelWriter excelWriter = EasyExcel.write(fileName, head).file(file).build();
WriteSheet writeSheet = EasyExcel.writerSheet().build();
//需要排除的列,将DemoData类的属性放进去,此列就会在生成excel的时候被排除掉
List excludeColumnList = new ArrayList<>();
excludeColumnList.add("b");
writeSheet.setExcludeColumnFiledNames(excludeColumnList);
excelWriter.write(list, writeSheet);
excelWriter.finish();
}
public static void main(String[] args) {
List<DemoData> list = new ArrayList<>();
DemoData demoData = new DemoData();
demoData.setA("a");
demoData.setB(123L);
demoData.setC("c");
list.add(demoData);
createExcelFile("C:/test.xlsx", DemoData.class, list);
}
}