2011-12-29 28 views
-2

私のアプリケーションはdbからデータを取り出し、それをExcelに書き出します。私はポイを使用してコンバータとしてExcelを使用しています 私は、最後の最後の行だけが書き込まれている問題を抱えていますが、多くのデータが転送されているため、バッファに書き込まれる可能性があります。apache poi最後の行だけを書きます

がここエワルドが述べたように、コード

for(int i=0; i<0;i<workorderlist.size;i++) {  
    //cargo start 
    if(null!=workordervolist.get(i).getCargo()){ 
     String cargo = workordervolist.get(i).getCargo(); 
     cell = row1.createCell(15); 
     cell.setCellStyle(nonEditable); 
     cell.setCellValue(cargo); 
     if(cargo.length()> colLenght[15]-2) 
      colLenght[15] = cargo.length()+2; 
     } 
     //cargo end 
} 
+0

なぜあなたのforループにはi <0が含まれていますか?私は Ewald

答えて

1

で、あなたのループが正しくありません:

for(int i=0; i<0;i<workorderlist.size;i++) 

私はそれをコンパイルしても驚いています。 for構造体は:

変数の宣言です。ループを止める条件。増分。

2つの条件がありますが、増分はありません。ほとんどの場合、ループを入力しないでください。デバッガを使用するか、シンプルなSystem.out.println(「ループ中」)ために。

それ以上のものですが、どこで行を増やしますか? row1はどこから来ますか?

row1 = sheet.getRow(i); 

このように、より良い回答を得るにはコードを追加する必要があります。

0

実際、完全なソースコードではありません。 ちょうどその一部を貼り付けました。申し訳ありませんが、私はそれが構文的に正しいと気付かなかった。
私はそれを修正しました。 問題がforループで、私が使用していた、ということでした:だから

row = sheet.createRow(i); 
row1= sheet.createRow(i+1); 

、すべての反復サイクルは、その前に書かれた行を削除しました。

関連する問題