欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
相关标签: easyExcel