我想在我的Excel模板文件中合并一些单元格,然后在合并单元格中设置值。这是我的java代码。在我添加set value part
之前,它适用于合并单元格。但是当我只添加set value part
时,即使没有单元格合并也似乎没有任何改变。我还尝试在set value part
之后移动merge cells part
,然后办公室提醒我修复输出excel文件。
如何同时合并单元格和设置值?
for (int sht = 0; sht < 3; sht++) {
sheet = workbook.getSheetAt(sht);
row = 1;
for (Data d : list) {
// set value part
cell = sheet.getRow(row).getCell(0);
cell.setCellValue(d.a);
cell = sheet.getRow(row).getCell(1);
cell.setCellValue(d.b);
cell = sheet.getRow(row).getCell(2);
cell.setCellValue(d.c);
// merge cells part
sheet.addMergedRegion(new CellRangeAddress(row, row + 1, 0, 0));
sheet.addMergedRegion(new CellRangeAddress(row, row + 1, 1, 1));
sheet.addMergedRegion(new CellRangeAddress(row, row + 1, 2, 2));
sheet.addMergedRegion(new CellRangeAddress(row, row + 1, 3, 3));
//
row += 2;
}
}
答案 0 :(得分:4)
您可以在Excel单元格中设置CellValue,然后根据您的要求合并单元格。
cell = sheet.getRow(row).getCell(0);
cell.setCellValue(d.a);
您可以使用sheet.addMergedRegion(new CellRangeAddress(rowFrom,rowTo,colFrom,colTo));
示例:
sheet.addMergedRegion(new CellRangeAddress(1,1,4,2)); will merge from D2 to F2.
请记住它是基于零的索引。