在使用poi生成excel时,第一行已经合并了,在第二行输入表头时,只有一个最后几个输入进去了,我是在一个for循环中添加的,只有最后执行fora循环才添加了,具体代码如下
int row2 = 3;
int row3 = 3;
for (Subject subject : finalSubjectList) {
String subjectName = subject.getSubjectName();
// Cell cell3 = sheet.createRow(1);
Cell cell2 = headerRow.createCell(row2);
System.out.println(subjectName);
cell2.setCellValue(subjectName);
cell2.setCellStyle(headerStyle);
Row headerRow1 = sheet.createRow(1);
System.out.println(row3);
Cell cell6 = headerRow1.createCell(row3);
cell6.setCellValue("选择题分数");
cell6.setCellStyle(headerStyle);
row3++;
System.out.println(row3);
Cell cell4 = headerRow1.createCell(row3);
cell4.setCellValue("非选择分数");
cell4.setCellStyle(headerStyle);
row3++;
System.out.println(row3);
Cell cell5 = headerRow1.createCell(row3);
cell5.setCellValue("分数");
cell5.setCellStyle(headerStyle);
if (!teacherDataParamsVO.isShowRanking()) {
CellRangeAddress cellAddresses34 = new CellRangeAddress(0, 0, row2, row2 + 2);
sheet.addMergedRegion(cellAddresses34);
row2 = row2 + 3;
}
if (teacherDataParamsVO.isShowRanking()) {
CellRangeAddress cellAddresses34 = new CellRangeAddress(0, 0, row2, row2 + 3);
sheet.addMergedRegion(cellAddresses34);
row3++;
System.out.println(row3);
Cell className = headerRow1.createCell(row3);
className.setCellValue("班名");
className.setCellStyle(headerStyle);
row2 = row2 + 4;
}
row3++;
}
导出来的结果如下图
应该在其他科目下也有的,目前只是在语文下面有,我查看了一下控制台,row3都有值
这是哪里的问题?