阿里EasyExcel多个sheet页不同的表头字段
不同sheet页表头不同
列如开发两个不同的sheet页表头字段不一样
- 先定义不同sheet页不同的表头字段对象
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class BwRuralExport implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty(value = "序号")
private int serNum;
@ExcelProperty(value = "用户id")
private String userId;
@ExcelProperty(value = "住址")
private String address;
}
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class YwRuralExport implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty(value = "编号")
private String id;
@ExcelProperty(value = "姓名")
private String userName;
@ExcelProperty(value = "数量")
private String number;
@ExcelProperty(value = "联系电话")
private String telePhone;
}
- 再分别创建两个sheet页的对象合并搞定
ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
// 创建 Excel 写入器
ExcelWriterBuilder writerBuilder = EasyExcel.write(arrayOutputStream);
ExcelWriter build = writerBuilder.build();
WriteSheet writeSheet1 = EasyExcel.writerSheet(0, "sheet第一页名称").head(BwRuralExport.class).build();
build.write(bwList, writeSheet1);
WriteSheet writeSheet2 = EasyExcel.writerSheet(1, "sheet第二页名称").head(YwRuralExport.class).build();
build.write(ywList, writeSheet2);
build.finish();
Map<String, Object> map = new HashMap<>();
byte[] buffer = arrayOutputStream.toByteArray();
try {
// 这个是将excel转成流
InputStream inputStream = new ByteArrayInputStream(buffer);
} catch (
Exception e) {
e.printStackTrace();
} finally {
try {
arrayOutputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}