我的数据不是在excel中逐行填充,而是在Excel中是逐个单元填充。
请检查我的期望。
Column 0 Column 1 Column 2
Row 0 APP1 APP2
Row 1 Computer
Row 2 Mobile
Row 3 Tablet
我当前的代码在下面提供结果
Column 0 Column 1 Column 2
Row 0 APP1 APP2
Row 1 Computer
Row 2
Row 3
请检查我当前的代码
Iterator<String> tempIterator2= devkeys.iterator();
Integer cellnumd = 0;
Integer rownum2 = 1;
XSSFRow row2 = sheet.getRow(rownum2);
if (row2 == null) {
sheet.createRow(rownum2);
continue;
}
Cell cell2 = row2.getCell(cellnumd);
while (tempIterator2.hasNext()) {
String tempdev = (String) tempIterator2.next();
if (( cell2 != null) || ( cell2 == null)){
cell2 = row2.createCell(cellnumd);
cell2.setCellValue(tempdev);
rownum2++;
}
}
最佳答案
您只创建了一行。
以后,您遍历tempIterator2
并增加rownum
,但是忽略增加的值。
最重要的是:if (( cell2 != null) || ( cell2 == null))
令人困惑。
等于if (true)
-cell2可以为null或不为null。没有其他选择。
您还可以考虑for循环:
for (String tempdev : devkeys)
显式使用迭代器。
输出将是相同的(for循环使用迭代器),但是这被认为更具可读性。