2013-10-14 125 views
0

我有3个列表,分别是list1,list2和list3。我想在Excel表格中将这些列表显示为3列。例如,列表1中的值应显示在Excel工作表的第一列中。我将下面的所有3个列表添加到最终列表中,并能够将它们显示为单独的行,不知道如何显示为列。我正在使用apachepoi。将数据写入Excel工作表java

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 { 
    } 
} 

回答

2

假设你的名单都是一样的大小,为什么不喜欢:

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)); 
} 

添加额外的错误处理,如果你的名单可能是不一样的长度,以及额外的逻辑,如果你需要做的格式/日期/等列表内容

+0

谢谢。这解决了我的问题... –

+0

在这里,内部列表中你有1个元素,每个get(i)..如果列表包含元素列表? – avidCoder

相关问题