easyExcel2.0.5后续新版本新用法研究(三)如何把数据导出成一个excel文件
程序员文章站
2024-03-21 13:06:10
...
/**
* @Description: 放款列表导出Excel
*
*
* @Date: 2019/7/21 10:15
* @Param:
* @Param:
* @return:
**/
@PostMapping("/exportCreditLoadListExcel")
public void exportCreditLoadListExcel(
@RequestBody Map<String, Object> params,
HttpServletResponse response) throws IOException {
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap = params;
List<BankLoanVo> list = loanManageService.extendQueryByWhere(resultMap);
// list转化为listExcel
List<BankLoanExportExcel> listExcel = new ArrayList<>();
listExcel = loanManageService.exchangeListToListExcel(list);
// 非自动列宽
// EasyExcel.write(response.getOutputStream(), BankLoanExportExcel.class).sheet("放款情况").doWrite(listExcel);
// 自动列宽
// EasyExcel.write(response.getOutputStream(), BankLoanExportExcel.class) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).sheet("放款情况").doWrite(listExcel);
/*******自定义列标题和内容的样式******/
// 头的策略
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
// 背景设置为红色
headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
WriteFont headWriteFont = new WriteFont();
headWriteFont.setFontHeightInPoints((short)10);
headWriteCellStyle.setWriteFont(headWriteFont);
// 内容的策略
WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
// 这里需要指定 FillPatternType 为FillPatternType.SOLID_FOREGROUND 不然无法显示背景颜色.头默认了 FillPatternType所以可以不指定
// contentWriteCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND);
// 背景绿色
// contentWriteCellStyle.setFillForegroundColor(IndexedColors.GREEN.getIndex());
WriteFont contentWriteFont = new WriteFont();
// 字体大小
contentWriteFont.setFontHeightInPoints((short)10);
contentWriteCellStyle.setWriteFont(contentWriteFont);
// 这个策略是 头是头的样式 内容是内容的样式 其他的策略可以自己实现
HorizontalCellStyleStrategy horizontalCellStyleStrategy =
new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
// 注删样式并写入excel
EasyExcel.write(response.getOutputStream(), BankLoanExportExcel.class).registerWriteHandler(horizontalCellStyleStrategy).sheet("放款情况").doWrite(listExcel);
}
/**
* @ClassName: BankLoanVo
* @Description: 放款视图实体对象
* 1.
* 2.
* @Author: zhongzk [email protected]
* @Date: 2019/8/11 23:02 *
* @Copyright: 字节码团队www.bjsurong.com. All rights reserved. *
*/
@Data
@ContentRowHeight(25)
@HeadRowHeight(25)
@ColumnWidth(25)
public class BankLoanExportExcel {
/**
* 银行名称
*/
@ExcelProperty(value = "银行名称")
private String pbankName;
// 支行
@ExcelProperty(value = "支行名称")
private String bankSubName;
上一篇: JAVA解析Excel工具easyexcel之快速上手
下一篇: 实现不带头结点的单链表