如何通过使用Apache POI来同时合并单元格和设置值?

我想合并我的Excel模板文件中的一些单元格,然后在合并的单元格中设置值。 这是我的Java代码。 在添加set value part之前,在合并单元格时效果很好。 但是当我只是添加set value part ,即使没有单元格合并,似乎没有任何变化。 merge cells part ,我也尝试移动set value 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(da); cell = sheet.getRow(row).getCell(1); cell.setCellValue(db); cell = sheet.getRow(row).getCell(2); cell.setCellValue(dc); // 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; } } 

您可以在Excel单元格中设置细胞值,然后根据您的要求合并细胞。

 cell = sheet.getRow(row).getCell(0); cell.setCellValue(da); 

你可以使用sheet.addMergedRegion(new CellRangeAddress(rowFrom,rowTo,colFrom,colTo));

例如:

 sheet.addMergedRegion(new CellRangeAddress(1,1,4,2)); will merge from D2 to F2. 

记住它是基于零的索引。

有关详细信息,请参阅“ Busy开发人员指南”