我有3个列表,即list1,list2和list3。我想在excel表中将这些列表显示为3列。例如,列表1中的值应显示在Excel工作表的第一列中。我将所有3个列表添加到最终列表中,如下所示,并能够将它们显示为单独的行,不知道如何显示为列。我正在使用apachepoi。
List<List> finalList = new ArrayList<List>();
finalList .add(list1);
finalList .add(list2);
WritingToExcelFile(List<List> l1) throws Exception { //passing finalList here
try {
for (int j = 0; j < l1.size(); j++) {
Row row = firstSheet.createRow(rownum);
List<String> l2 = l1.get(j);
for (int k = 0; k < l2.size(); k++) {
Cell cell = row.createCell(k);
cell.setCellValue(l2.get(k));
}
rownum++;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
}
}
答案 0 :(得分:4)
假设您的列表大小相同,为什么不能这样:
Sheet s = wb.createSheet();
for (int i=0; i<firstList.size(); i++) {
Row r = s.createRow(i);
r.createCell(0).setCellValue( list1.get(i) );
r.createCell(1).setCellValue( list2.get(i) );
r.createCell(2).setCellValue( list3.get(i) );
}
如果列表的长度可能不同,则添加额外的错误处理;如果需要为列表内容执行格式化/日期/等,则添加额外的逻辑