EasyExcel官方文档
根据官方文档,引入EasyExcel的依赖,一直报错,发现是这个依赖冲突了
说实话有点抽象,它自己的包还能引入两个不同版本的依赖
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
</dependency>
排掉这个依赖后,又产生了日志依赖错误,人裂开了
继续看官方文档,让排掉这个依赖
<exclusion>
<artifactId>poi-ooxml-schemas</artifactId>
<groupId>org.apache.poi</groupId>
</exclusion>
然后排掉后,还是报错,仔细分析一下依赖树,最终的依赖如下
</dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.4</version>
<exclusions>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
</dependencies>
代码运行正常了
public class Test {
void export() {
List<PrintJobExport> printJobExportList = ...
String pathName = ...
EasyExcelFactory
.write(pathName, PrintJobExport.class)
.sheet("第三方打印任务")
.doWrite(printJobExportList);
}
}
@Getter
@Setter
@EqualsAndHashCode
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER)
public class PrintJobExport {
@ColumnWidth(40)
@ExcelProperty("ID")
private String id;
/**
* 仓库编码
*/
@ColumnWidth(20)
@ExcelProperty("仓库编码")
private String warehouseCode;
/**
* 业务编码
*/
@ColumnWidth(20)
@ExcelProperty("业务编码")
private String bizCode;
/**
* 打印机编码
*/
@ColumnWidth(20)
@ExcelProperty("打印机编码")
private String printerNo;
/**
* 给三方打印组件通过 websocket 发送的消息
*/
@ColumnWidth(40)
@ExcelProperty("消息")
private String message;
/**
* 任务Id
* 调用三方打印组件时传递的任务Id 不同平台名字可能不同
* 比如: 京东-key; 菜鸟-taskId;
*/
@ColumnWidth(20)
@ExcelProperty("任务Id")
private String taskId;
}