EasyExcel
文档地址:https://www.yuque.com/easyexcel/doc/read
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.0.5</version>
</dependency>
注解
@ExcelProperty
value(String[]) {""} 说明属性对应表头的名称
index(int) 说明属性在表格的位置 (默认是-1)
converter(Class<? extends Converter>) AutoConverter.class 自定义转换类
@ColumnWith 设置表格的列宽 (默认是-1)
@HeadFontStyle 文本字体样式
fontName 设置表格表头的字体 (默认宋体)
fontHeightInPoints 设置表格表头字体的大小( 默认14)
italic 设置字体是否斜体
strikeout 是否设置删除线
color 设置字体颜色
typeOffset 设置偏移量
underline 设置下划线
charset 设置字体编码
bold 设置字体是否加粗
@ContentLoopMerge 文本合并
@ContentRowHeight 设置表格的高度(不含表头)(默认是-1)
@HeadRowHeight 设置表格表头的高度 (默认是-1)
@ExcelIgnore 转化表格时忽略该字段
@ExcelIgnoreUnannotated 转化表格时忽略所有未注释的字段
@DateTimeFormat 设置转化格式
/**
* 这里用string 去接日期才能格式化
*/
@DateTimeFormat("yyyy年MM月dd日 HH时mm分ss秒")
private String date;
@ContentFontStyle
用于设置单元格内容字体格式的注解
fontName 字体名称
fontHeightInPoints 字体高度
italic 是否斜体
strikeout 是否设置删除水平线
color 字体颜色
typeOffset 偏移量
underline 下划线
bold 是否加粗
charset 编码格式
合并单元格
分页导出
String path="D://1.xls";
//总条数
int count=100000;
//开始页数
int pageNum=1;
//每页条数
int pageSize=1000;
//总页数
int pageCount=(count+pageSize-1)/pageSize;
ExcelWriter writer = EasyExcel.write(path, Student.class).build();
//设置sheet名字
WriteSheet sheet= EasyExcel.writerSheet("测试").build();
while(pageCount>=pageNum){
//设置分页
//查询
List list=new ArrayList();
writer.write(list,sheet);
++pageNum;
}
writer.finish();