maven
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.6</version>
</dependency>
easyExcel可以通过类上面的注解来和excel的列一一对应
class User {
@ExcelProperty(value = "id",index=0)
private String id;
@ExcelProperty(value = "年龄",index=1)
private String age;
下面是个写入的工具类.通过clazz和注解来限定了列,然后写入outputStream.
//通过list数据/outputStream/clazz来写数据
public static <T> void export(List<T> data,OutputStream outputStream,Class<T> clazz) {
ExcelWriter writer = getWriter(outputStream,clazz);
writer.write(data, new WriteSheet());
writer.finish();
}
/*
* get writers
*/
private static ExcelWriter getWriter(OutputStream outputStream, Class<?> clazz) {
return new ExcelWriterBuilder().head(clazz).file(outputStream).build();
}
public static <T> List<T> imports(InputStream inputStream,Class<T> clazz) {
return EasyExcel.read(inputStream).head(clazz).sheet(0).doReadSync();
}