记录使用阿里巴巴EasyExcel导出Excel功能
第一种实体类映射表头
import java.util.Date;
import org.apache.poi.ss.usermodel.IndexedColors;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
/**
* 待签收导出头
* @author lingzhi
*
*/
@Data
@ColumnWidth(40) // 列宽
@HeadRowHeight(30) //指定表头行高
@ContentRowHeight(20) // 表体行高
public class ExportDqsExcelHeader {
/**
* 代办类型
*/
@ExcelProperty(value = "待办类型",index = 0)
private String exportdbType;
/**
* 编号
*/
@ExcelProperty(value = "编号",index = 1)
private String exportcaseNo;
/**
*标题
*/
@ExcelProperty(value = "标题" ,index = 2)
private String exportTitle;
}
使用@ExcelProperty 映射表头信息 value 映射为表头内容 index映射为第几列
构造导出数据映射
import java.util.Date;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* @ClassName: ExportDqsEntity
* @Description: 构造导出数据映射
* @author lingzhi
* @date 2020年6月9日
*
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ExportDqsEntity {
/**
* 类型
*/
@ExcelProperty(value = "类型")
private String exportdbType;
/**
* 编号
*/
@ExcelProperty(value = "编号")
private String exportcaseNo;
}
这里的ExcelProperty 中的value 与表头相对应
导出
/**
*
* @Title: exportAll
* @Description: 全部导出
* @param @param exportCondition
* @param @param session
* @param @param response
* @return void
*/
@GetMapping("/exportAll")
@ResponseBody
public void exportAll(ExportCondition exportCondition,HttpServletResponse response) {
if (exportCondition!=null) {
try {
List<ExportDqsEntity> dqsAllForExoprt = getDqsAllForExoprt(exportCondition);
//设置
response.setContentType("application/vnd.ms-excel");
//防止乱码
response.setCharacterEncoding("UTF-8");
//导出名
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(&#