java apache poi shifting Rows 遇到运行时异常

标签 java excel apache-poi

我有一个简单的 Excel 工作表,其中包含基本的 Excel 公式,例如求和和从另一个单元格检索值。现在,我想在现有的两行之间插入一个空行(我看过 How to insert a row between two rows in an existing excel with HSSF (Apache POI) ,但我遇到了一些奇怪的错误)。

所以我尝试通过这样做来移动行:

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>

最佳答案

试试这个。 sheet.shiftRows(currentRow, sheet.getLastRowNum()+1, amount, true,true);

关于java apache poi shifting Rows 遇到运行时异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21635360/

相关文章:

java - 泛型类型的injector.getInstance

java - JBoss AS 7 中的 EJB 3 部署

excel - 自定义函数在 Excel VBA 中不起作用

vba - 如何在循环中递增字符变量〜VBA

Java native 进程超时

java - 让java应用程序每天自动运行一次?

vba - 删除所有 VBA 监视项

Java 输出流到工作簿中

java - 将新单元格写入工作表 apache poi

java - 如何通过java从Excel文件中删除空白列?