1,以POI为基础,发展EasyExecl
HSSF:是操作Excel97-2003版本,扩展名为.xls。
XSSF:是操作Excel2007版本开始,扩展名为.xlsx。
SXSSF:是在XSSF基础上,POI3.8版本开始提供的一种支持低内存占用的操作方式,扩展名为.xlsx。
Excel97-2003版本,一个sheet最大行数65536,最大列数256。
Excel2007版本开始,一个sheet最大行数1048576,最大列数16384。
2,EasyExecl 版本1.1.2-beta5
1.简单的写
ExcelWriter writer1 = EasyExcelFactory.getWriter(new FileOutputStream(new File(str)));
List<DemoData> list = new ArrayList<>();
DemoData demoData = new DemoData();
demoData.setString("生成execl");
demoData.setDate(new Date());
demoData.setDoubleData(1.0);
list.add(demoData);
for(int i=0;i<10;i++){
list.add(demoData);
}
Sheet sheet = new Sheet(1,0,DemoData.class);
sheet.setSheetName("测试");
writer1.write(list, sheet);
writer1.finish();
2.日期数字或者自定义格式
@ExcelProperty({"主标题","子标题", "字符串标题"})
private String string;
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
@ExcelProperty({"","","日期标题"})
private Date date;
@NumberFormat(style = NumberFormat.Style.CURRENCY)
@ExcelProperty({"","","数字标题"})
private Double doubleData;
@Ignore
private String ignore;
3.图片导出
@since 标签来定义哪个版本添加了方法
@version 标签应该是当前版本的发行版或文件
@ContentRowHeight(int):
设置 row 高度,不包含表头
标记在 类上
@HeadRowHeight(int):
设置 表头 高度
标记在 类上
@ColumnWidth(int):
设置列宽
标记在属性上
@ExcelProperty(value = String[], index = int):
设置表头信息
value: 列名称
index: 列号 (0,1,2.........)