Apache POI を使用して、jsp から Excel にデータをエクスポートしようとしています。必要な列の数は 2 つのパラメーターに依存するため、クエリを使用してフェッチします。
EXの場合:必要な動的列の数= 3の場合、出力は次のようになります。
A | B | DH1 | DH2 | DH3 | C
ここで、A、B、C = 静的列ヘッダー。
DH = 動的列ヘッダー (クエリから取得)
これを行うには、最初に A、B、C を設定してから、必要な DH 列の数を見つけます。次に、DH 列を生成します。その後、各 DH 列に必要な値を見つけ、その値を Arraylist に格納してから、Arraylist を走査して値を設定します。
ここにコード
HSSFCell c1= row.createCell(0);
HSSFCell c2= row.createCell(1);
HSSFCell cellObject = null;
oRecordMetaInfo = getNoofDynamicColumns();
NoofColumns = oRecordMetaInfo.getRecordCount();
for(int i = 2; i < NoofColumns + 2; i++)
{
cellObject = row.createCell((int) i);
}
HSSFCell c3 = row.createCell((int) (NoofColumns + 2));
c1.setCellValue(" A ");
c2.setCellValue(" B ");
Array1 = new ArrayList();
Array1 = dao.getDynamicColumnValues();
If(Array1.size != 0)
{
QueryRow oRow = null;
Iterator oIt = null;
oIt = Array1.iterator();
while (oIt.hasNext()) {
oRow = (QueryRow) oIt.next();
oRow.get("DYNAMIC_VALUE");
cellObject.setCellValue(oRow.get("DYNAMIC_VALUE").getString());
}
}
c3.setCellValue(" C ");
しかし、私が得る出力は
A | B | | | DH3 | C
したがって、最後の値のみがセルに設定され、前の値は設定されません。誰が何が悪いのか提案できますか?