导出复杂的表格需要借助TableBuilder先生成Table,再将Table导出到excel中
最后更新:2023-10-18 21:05:17
|
状态:未完成
TableBuilder builder = TableBuilder.init() .setDatas(set) //设置数据源 .setFields( //需要导出的列 "{num}(EMPLOYEE_NM)" //{num}表示序号,(DEPARTMENT_NM)表示根据哪一列计算序号,这里部门名称需要分组合并,所以num不是按行计算 ,"DEPARTMENT_NM" ,"EMPLOYEE_NM" ,"YM" ,"BASE_PRICE") .addUnion( //需要合并的列 "DEPARTMENT_NM" //如果部门名称相同则合并 ,"EMPLOYEE_NM(DEPARTMENT_NM)" ,"YM(DEPARTMENT_NM)" //如果月份相同则合并,前提是部门已经合并 ) .setReplaceEmpty("/") //如果值为空则以/代替 .addIgnoreUnionValue("/") //不参与合并的值 .setCellBorder(true) //设置默认边框 .setMergeCellHorizontalAlign("center") //设置合并的列 水平对齐方式 .setMergeCellVerticalAlign("top") //设置合并的列 垂直对齐方式 .setEmptyCellHorizontalAlign("center") //设置空单元格 水平对齐方式(为空时有可能需要替换成其他值) .setEmptyCellVerticalAlign("top") //设置空单元格 垂直对齐方式 .setHorizontalAlign("YM","center") //设置月份列 水平对齐方式 .setVerticalAlign("middle") //设置所有数据单元格 垂直对齐方式 .setLineHeight("50px") //设置数据区域行高 .setWidth("YM","200px") //设置月份列 宽度 ; Table table = builder.build(); File file = new File(dir, "export_table.xlsx"); ExcelUtil.export(file, table);