Я пытаюсь удалить пустую ячейку в apache-poi. Я получаю эту ошибку в unmarkedColumns.remove (unmarkedColumns.get (i)): есть проблема с методом удаления. Я не понимаю почему. Можете ли вы мне помочь?
java.lang.UnsupportedOperationException: null
at java.util.AbstractList.remove(Unknown Source)
at java.util.AbstractList$Itr.remove(Unknown Source)
)
Integer[] integers = new Integer[headers.size()];
Arrays.fill(integers, 0);
List<Integer> unmarkedColumns = Arrays.asList(integers);
for (ScoredFormData scoredFormData : scoredFormDatas) {
Row dataRow = sheet.createRow(++rownum);
List<Object> rowValues = prepareExportRow(scoredFormData, visitManager, parameters,
dynamicDatamanager,
scoreCriteriaDefinitions);
for (int i = 0; i < rowValues.size(); i++) {
if (unmarkedColumns.get(i) != 1 && rowValues.get(i) != null
&& !rowValues.get(i).equals("")) {
unmarkedColumns.set(i, 1);
}
}
populateCells(rowValues, dataRow);
}
for (int i = 0; i < unmarkedColumns.size(); i++) {
if (unmarkedColumns.get(i) == 0) {
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Boolean changed = false;
for (int j = i + 1; j < row.getLastCellNum() + 1; j++) {
Cell oldCell = row.getCell(j - 1);
if (oldCell != null) {
row.removeCell(oldCell);
changed = true;
Cell nextCell = row.getCell(j);
if (nextCell != null) {
Cell newCell = row.createCell(j - 1, nextCell.getCellType());
switch (newCell.getCellType()) {
case Cell.CELL_TYPE_BOOLEAN: {
newCell.setCellValue(nextCell.getBooleanCellValue());
break;}}}}
if (changed ) {
unmarkedColumns.remove(unmarkedColumns.get(i));
i = 0;
}
}