You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by on...@apache.org on 2015/11/02 11:47:19 UTC
svn commit: r1711939 - in /poi/trunk/src/ooxml:
java/org/apache/poi/xssf/usermodel/XSSFCell.java
testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java
Author: onealj
Date: Mon Nov 2 10:47:19 2015
New Revision: 1711939
URL: http://svn.apache.org/viewvc?rev=1711939&view=rev
Log:
bug58348: add test for copying formula with unregistered UDF
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java?rev=1711939&r1=1711938&r2=1711939&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java Mon Nov 2 10:47:19 2015
@@ -121,6 +121,9 @@ public final class XSSFCell implements C
/**
* Copy cell value, formula, and style, from srcCell per cell copy policy
* If srcCell is null, clears the cell value and cell style per cell copy policy
+ *
+ * This does not shift references in formulas. Use {@link XSSFRowShifter} to shift references in formulas.
+ *
* @param srcCell
* @param policy
* @throws IllegalArgumentException if copy cell style and srcCell is from a different workbook
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java?rev=1711939&r1=1711938&r2=1711939&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java Mon Nov 2 10:47:19 2015
@@ -530,6 +530,19 @@ public final class TestXSSFCell extends
}
@Test
+ public final void testCopyCellFrom_CellCopyPolicy_formulaWithUnregisteredUDF() {
+ setUp_testCopyCellFrom_CellCopyPolicy();
+
+ srcCell.setCellFormula("MYFUNC2(123, $A5, Sheet1!$B7)");
+
+ // Copy formula verbatim (no shifting). This is okay because copyCellFrom is Internal.
+ // Users should use higher-level copying functions to row- or column-shift formulas.
+ final CellCopyPolicy policy = new CellCopyPolicy.Builder().cellFormula(true).build();
+ destCell.copyCellFrom(srcCell, policy);
+ assertEquals("MYFUNC2(123, $A5, Sheet1!$B7)", destCell.getCellFormula());
+ }
+
+ @Test
public final void testCopyCellFrom_CellCopyPolicy_style() {
setUp_testCopyCellFrom_CellCopyPolicy();
srcCell.setCellValue((String) null);
@@ -637,7 +650,7 @@ public final class TestXSSFCell extends
private final void setUp_testCopyCellFrom_CellCopyPolicy() {
@SuppressWarnings("resource")
final XSSFWorkbook wb = new XSSFWorkbook();
- final XSSFRow row = wb.createSheet().createRow(0);
+ final XSSFRow row = wb.createSheet("Sheet1").createRow(0);
srcCell = row.createCell(0);
destCell = row.createCell(1);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org