大きなxmlファイルを読み取り、そこからExcelファイルを作成するプログラムを作成しています。各ノードの属性は、Excelファイルの列ヘッダーになります。Domオブジェクトを作成し、ノードリストを取得しました。それを反復処理する必要があり、ノードごとに、ノードの属性値を列値として使用してExcelシートに行を追加する必要があります。したがって、反復するときは、行を動的に作成する必要があります。どうすればいいですか?作成した行をapachePOIに追加する機能は見当たりません。これまでのところ、私が見たのは、毎回新しい行を定義することです。5000以上のエントリがあるのでできません。基本的に私がやりたいことは:
Node node = null;
HSSFRow datarow = null;
for (int i = 0; i < nodeList.getLength(); i++) {
node = nodeList.item(i);
datarow = spreadSheet.createRow(i);
//set values for data row here, and add it.
//so in the loop, next time the same variable will be assigned to spreadSheet.createRow(1) etc.
}
createRowがspreadSheetから呼び出され、行が追加されることを理解しています。しかし、ループでは、同じ変数が他の行にも割り当てられるため、最終的には1行しか取得できないと思います。これについて私にアドバイスしてください。