我正在使用POI 4.1.0版本。使用shiftRows()时,excel文件已损坏

问题描述 投票:0回答:1
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部分中的单元格信息

因此,对此有任何错误修复或我应该怎么做?

java excel spring-tool-suite apache-poi-4
1个回答
0
投票

[很遗憾,从Apache POI发行版4.1.0开始,XSSFSheet shiftRows();中存在一个尚未修复的错误。当前输入了一个用于跟踪和修复的错误Here

直到它被修复,我建议将POI JAR版本降级到3.17(请参阅此StackOverflow Post),或使用同一文章中由“ Axel Richter”显示的修复程序的版本。

希望Apache很快会在较新的版本中修复该错误。

© www.soinside.com 2019 - 2024. All rights reserved.