Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我使用的是POI 4.1.0版本。使用shiftRows()时,excel文件已损坏 for(int i=0;i_Java_Excel_Spring Tool Suite_Apache Poi 4 - Fatal编程技术网

Java 我使用的是POI 4.1.0版本。使用shiftRows()时,excel文件已损坏 for(int i=0;i

Java 我使用的是POI 4.1.0版本。使用shiftRows()时,excel文件已损坏 for(int i=0;i,java,excel,spring-tool-suite,apache-poi-4,Java,Excel,Spring Tool Suite,Apache Poi 4,它没有给出任何编译错误或运行时错误,但我正在处理的excel文件已损坏 它在打开文件时显示此消息- 在Excel中打开时出错: 已删除记录:从/xl/worksheets/sheet1.xml部分删除单元格信息 那么有没有关于这个的bug修复可用或者我应该怎么做?不幸的是,从Apache POI版本4.1.0开始,XSSFSheet shiftRows()中有一个bug尚未修复。当前输入了一个用于跟踪和修复的bug 在修复之前,我建议将您的POI JAR版本降级到3.17(见此),或者使用同一篇

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

它在打开文件时显示此消息-

在Excel中打开时出错:

已删除记录:从/xl/worksheets/sheet1.xml部分删除单元格信息


那么有没有关于这个的bug修复可用或者我应该怎么做?

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

在修复之前,我建议将您的POI JAR版本降级到3.17(见此),或者使用同一篇文章中“Axel Richter”所示的修复版本


希望Apache很快能在新版本中修复该漏洞。

是的。这个问题已经解决了,我只是以这种方式实施的。
for (int i = 0; i < newSheet.getLastRowNum(); i++) {
            if (.....) {
                newSheet.removeRow(newSheet.getRow(i));
                newSheet.shiftRows(i+1, newSheet.getLastRowNum(), -1);
                i--;
            }   
        }