导出复杂的表格需要借助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);
首页 最近更新 搜索 提交 回复