Alibaba EasyExcel实现简单的数据导出
提示:本人为新手,仅供参考
一、添加依赖
具体版本,根据自己需求
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.7</version>
</dependency>
二、书写行对象
1、设置列宽
统一设置列宽
@ColumnWidth(列宽值)注释在类上
设置单独列
@ColumnWidth(列宽值)注释在具体属性上
2、设置表头行高
@HeadRowHeight(30)注释在类上
3、设置行高
统一设置数据行行高
@ContentRowHeight(20)注释在类上
@Data
@ColumnWidth(30)
@HeadRowHeight(30)
@ContentRowHeight(20)
public class StudentExportData {
@ExcelProperty(value = "姓名" ,index = 0)
private String name;
@ExcelProperty(value = "学号" ,index = 1)
private String no;
@ExcelProperty(value = "年级" ,index = 2)
private String grade;
}
三、导出
1、普通导出
public void export(){
//文件路径一般是配置在配置文件的,后面的文件名自己生成就是
String fileName = "d:/temp/export/temp.xlsx"
//从数据库中查询数据
List<StudentExportData > data = dao.findAll();
EasyExcel.write(fileName, StudentExportData .class).sheet().doWrite(data);
}
2、同一个sheet多次导出
public void export(){
try{
//文件路径一般是配置在配置文件的,后面的文件名自己生成就是
String fileName = "d:/temp/export/temp.xlsx"
//创建excel文件
ExcelWriter excelWriter = EasyExcel.write(fileName, TitleExportData.class).build();;
WriteSheet writeSheet = EasyExcel.writerSheet("数据导出").build();
for(int i = 0; i < 5; i++){
//从数据库中分页查询
List<StudentExportData> data = dao.findPage(i);
//写入
excelWriter.write(data,writeSheet);
}
}finally {
//关闭流
if (excelWriter != null) {
excelWriter.finish();
}
}
}
总结
提示:这个是EasyExcel实现的最简单的excel导出
更多EasyExcel教程