利用easypoi模板导出,在循环体里合并单元格。数据平铺生成workbook,根据相同值来合并单元格。
Map<Integer, int[]> mergeMap = new HashMap<>();
int[] merge = {0};//合并根据列
int numberOfSheets1 = workbook.getNumberOfSheets();
for (int k = 0; k < numberOfSheets1; k++) {
Sheet sheet = workbook.getSheetAt(k);
Row row = sheet.getRow(1);//表头行
for (int i = 0; i < row.getLastCellNum(); i++){
if (i ==4 || i == 5){
continue;//不需要合并的列
}
mergeMap.put(i, merge);
}
PoiMergeCellUtil.mergeCells(sheet, mergeMap, 2, sheet.getLastRowNum());
}