Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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 apache poi移动行运行时出现异常_Java_Excel_Apache Poi - Fatal编程技术网

java apache poi移动行运行时出现异常

java apache poi移动行运行时出现异常,java,excel,apache-poi,Java,Excel,Apache Poi,我有一个简单的excel表格,里面有一些基本的excel公式,比如求和,以及从另一个单元格中检索值。现在,我想在现有的两行之间插入一个空行(我已经查看了,但是遇到了一些奇怪的错误) 因此,我尝试通过这样做来移动行: worksheet.shiftRows(15,16,2); 我得到的回报是: Exception in thread "main" java.lang.RuntimeException: not implemented yet at org.apache.poi.xssf.

我有一个简单的excel表格,里面有一些基本的excel公式,比如求和,以及从另一个单元格中检索值。现在,我想在现有的两行之间插入一个空行(我已经查看了,但是遇到了一些奇怪的错误)

因此,我尝试通过这样做来移动行:

worksheet.shiftRows(15,16,2);
我得到的回报是:

Exception in thread "main" java.lang.RuntimeException: not implemented yet
    at org.apache.poi.xssf.usermodel.XSSFEvaluationWorkbook.getExternalSheetIndex(XSSFEvaluationWorkbook.java:127)
    at org.apache.poi.ss.formula.FormulaParser.createAreaRefParseNode(FormulaParser.java:615)
    at org.apache.poi.ss.formula.FormulaParser.parseRangeable(FormulaParser.java:462)
    at org.apache.poi.ss.formula.FormulaParser.parseRangeExpression(FormulaParser.java:268)
    at org.apache.poi.ss.formula.FormulaParser.parseSimpleFactor(FormulaParser.java:1119)
    at org.apache.poi.ss.formula.FormulaParser.percentFactor(FormulaParser.java:1079)
    at org.apache.poi.ss.formula.FormulaParser.powerFactor(FormulaParser.java:1066)
    at org.apache.poi.ss.formula.FormulaParser.Term(FormulaParser.java:1426)
    at org.apache.poi.ss.formula.FormulaParser.additiveExpression(FormulaParser.java:1526)
    at org.apache.poi.ss.formula.FormulaParser.concatExpression(FormulaParser.java:1510)
    at org.apache.poi.ss.formula.FormulaParser.comparisonExpression(FormulaParser.java:1467)
    at org.apache.poi.ss.formula.FormulaParser.unionExpression(FormulaParser.java:1447)
    at org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:1568)
    at org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:176)
    at org.apache.poi.xssf.usermodel.helpers.XSSFRowShifter.updateNamedRanges(XSSFRowShifter.java:116)
    at org.apache.poi.xssf.usermodel.XSSFSheet.shiftRows(XSSFSheet.java:2363)
    at org.apache.poi.xssf.usermodel.XSSFSheet.shiftRows(XSSFSheet.java:2306)
    at com.shel.myProgram.workbook.copyAndInsert(workbook.java:120)
    at com.shel.myProgram.workbook.test(workbook.java:111)
    at com.shel.myProgram.driver.main(driver.java:24)
编辑:

我正在使用此依赖项:

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.9</version>
    </dependency>

org.apache.poi
poi ooxml
3.9

试试这个<代码>sheet.shiftRows(currentRow,sheet.getLastRowNum()+1,amount,true,true)

查看org.apache.poi.xssf.usermodel.xssfevaluation工作簿第127行。可能在您的库中此函数“尚未实现”@ThrashBean我得到127不是org.apache.poi.xssf.usermodel.xssfevaluation工作簿中的有效数字。。。我很困惑。事实上,该文件似乎是空的。我使用的是ApachePOI版本3.9是的,它没有实现。3.10-beta2和3.11-beta1(最新夜间版本)中都没有。因此,你必须寻找其他方法来做到这一点。只是好奇-你在使用xlsx吗?是的,不过启用了宏@像你这样的猛犸象有一个有问题的命名范围,POI正在努力更新该范围。您是否有可能在工作表中发布任何非标准命名范围?