我正在尝试使用copyRowFrom(...);
将电子表格的第一行复制到新 XSSFSheet 的第一行,但有些东西无法正常工作。你可以在这里找到 XSSFRow 类和方法:
https ://github.com/apache/poi/blob/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java#L581
我来自IllegalArgumentException("amountToMove must not be zero")
FormulaShifter.java:https://github.com/apache/poi/blob/trunk/src/java/org/apache/poi/ss/formula/FormulaShifter.java#L80
似乎问题出在 XSSFRow 的第 623 行,其中FormulaShifter.createForRowCopy(...)
使用参数调用,rowDifference = 0
因为源行为 0,目标行为 0:
https ://github.com/apache/poi/blob/trunk/src/ooxml/java/org /apache/poi/xssf/usermodel/XSSFRow.java#L623
我不知道,也许这是一个错误,但是当到达 FormulaShifter.java 中的第 80 行时,参数 rowDifference 对应于为 0 的 amountToMove,因此它会引发 IllegalArgumentException。
我是否遗漏了什么,或者这是copyRowFrom(...);
XSSFRow 中的方法错误?