JavaApachePOI可以有效地删除多个列
我有一个程序,可以更改给定目录中的多个excel文件。 我需要从excel文件中删除多个列。例如,我想删除第5列之后的所有列
private void deleteColumns(Sheet sheet, int columnIndex) {
for (Row row : sheet) {
int j = 0;
for (Cell cell : row) {
if (j >= columnIndex) {
row.removeCell(cell);
}
j++;
}
}
}
我得到ConcurrentModificationException
我看到一篇关于如何删除单元格的帖子。 Apache POI xls column Remove
这个想法我很清楚。我需要创建一行,克隆必要的单元格,然后删除该行
其他解决方案是什么
我还尝试创建一个替代行,克隆我需要的单元格,然后删除原始行。我从这里接受了这个想法
我希望看到一些更好的解决方案,代码更少或更有效,然后逐个删除单元格
# 1 楼答案
使用迭代器代替直接更新行,如下所示