0
for (int i = 0; i < newSheet.getLastRowNum(); i++) {
            if (.....) {
                newSheet.removeRow(newSheet.getRow(i));
                newSheet.shiftRows(i+1, newSheet.getLastRowNum(), -1);
                i--;
            }   
        }

它没有给出任何编译错误或运行时错误,但我正在处理的 excel 文件正在损坏。

打开文件时显示此消息-

在 Excel 中打开时出错:

删除记录:来自 /xl/worksheets/sheet1.xml 部分的单元格信息

那么任何可用的错误修复或我应该做什么?

4

1 回答 1

0

不幸的是,从 Apache POI 版本 4.1.0 开始,还有一个XSSFSheet shiftRows();尚未修复的错误。当前输入了一个用于跟踪和修复的错误Here

在修复之前,我建议将您的 POI JAR 版本降级到 3.17(请参阅此StackOverflow 帖子)或使用“Axel Richter”在同一篇文章中显示的修复版本。

希望 Apache 很快就会在更新的版本中修复这个错误。

于 2019-10-07T13:55:58.690 回答