Я пытаюсь экспортировать данные из моего jsp в excel с помощью Apache POI. Число столбцов, которые мне нужны, будет зависеть от двух параметров и, следовательно, я получаю его через запрос.Невозможно динамически установить значение для объекта HSSFCell
Для EX: Если требуется число динамических столбцов = 3, то вывод должен быть примерно таким.
A | B | DH1 | DH2 | DH3 | C
Здесь A, B, C = колонка статического столбца.
DH = Динамический заголовок столбца (извлекается из запроса.)
Чтобы сделать это, я сначала установить А, В, С, а затем найти 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 ");
Но, в outtpu, что я получаю это
A | B | | | DH3 | C
Поэтому только последнее значение получает значение в ячейке, предыдущее значение не являются. Может ли кто-нибудь предположить, что не так?