1脾歇,以POI為基礎(chǔ),發(fā)展EasyExecl
HSSF:是操作Excel97-2003版本淘捡,擴展名為.xls藕各。
XSSF:是操作Excel2007版本開始,擴展名為.xlsx焦除。
SXSSF:是在XSSF基礎(chǔ)上激况,POI3.8版本開始提供的一種支持低內(nèi)存占用的操作方式,擴展名為.xlsx膘魄。
Excel97-2003版本乌逐,一個sheet最大行數(shù)65536,最大列數(shù)256创葡。
Excel2007版本開始浙踢,一個sheet最大行數(shù)1048576,最大列數(shù)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.日期數(shù)字或者自定義格式
@ExcelProperty({"主標題","子標題", "字符串標題"})
private String string;
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
@ExcelProperty({"","","日期標題"})
private Date date;
@NumberFormat(style = NumberFormat.Style.CURRENCY)
@ExcelProperty({"","","數(shù)字標題"})
private Double doubleData;
@Ignore
private String ignore;
3.圖片導(dǎo)出
@since 標簽來定義哪個版本添加了方法
@version 標簽應(yīng)該是當(dāng)前版本的發(fā)行版或文件
@ContentRowHeight(int):
設(shè)置 row 高度,不包含表頭
標記在 類上
@HeadRowHeight(int):
設(shè)置 表頭 高度
標記在 類上
@ColumnWidth(int):
設(shè)置列寬
標記在屬性上
@ExcelProperty(value = String[], index = int):
設(shè)置表頭信息
value: 列名稱
index: 列號 (0,1,2.........)