我想在POI中形成如下的excel输出:
从图像中可以清楚地看到,我分别在Header3,Header4和Header5下有3个子列.
清单如下:
ListA – 包含A列的值
ListB – 包含B列的值
List1 – 是每行3列的数据库行列表.第一列将在Header3下,第二列在Header 4下,第三列在Header 5下,即列C,F和I.
List2和List3 – 类似于List1,每个值分别在Header3,4和5下面.列表2在列D,G和J下,而列表3在E,H和K列下.
问题1:
我将标题名称存储为具有5个值的列表.
如何迭代此列表以将值分配给合并区域?
我正在做类似下面但不起作用的事情:
// first two headers
for (int i = 0; i < headers.size() - 3; i++) {
headerCell = headerRow.createCell(i);
headerCell.setCellValue(allHeaders.get(i).toUpperCase());
headerCell.setCellStyle(styles.get("header"));
}
// Merging
sheet.addMergedRegion(org.apache.poi.ss.util.CellRangeAddress.valueOf("$C$1:$E$1"));
sheet.addMergedRegion(org.apache.poi.ss.util.CellRangeAddress.valueOf("$F$1:$H$1"));
sheet.addMergedRegion(org.apache.poi.ss.util.CellRangeAddress.valueOf("$I$1:$K$1"));
for (int i = 3; i < headers.size(); i++) {
headerCell = headerRow.createCell(i);
headerCell.setCellValue(allHeaders.get(i).toUpperCase());
headerCell.setCellStyle(styles.get("header"));
}
问题2:
如上所述,如何通过List3迭代ListA来输入值?
谢谢阅读!