2

list1、list2、list3 という 3 つのリストがあります。そして、これらのリストを 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 {
    }
}
4

1 に答える 1

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

リストが同じ長さでない可能性がある場合は追加のエラー処理を追加し、リストの内容の書式設定/日付などを行う必要がある場合は追加のロジックを追加します

于 2013-10-14T13:36:16.823 に答える