]> source.dussan.org Git - poi.git/commitdiff
fix spelling
authorPJ Fanning <fanningpj@apache.org>
Sat, 24 Jul 2021 08:57:27 +0000 (08:57 +0000)
committerPJ Fanning <fanningpj@apache.org>
Sat, 24 Jul 2021 08:57:27 +0000 (08:57 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1891768 13f79535-47bb-0310-9956-ffa450edef68

poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFCell.java
poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFCell.java
poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFRow.java

index 7cee29bb9c68c2eb05ad99de4073ee91702f6d9a..6f44c8e524d3b03f755de3d3a04426cac293f77b 100644 (file)
@@ -548,7 +548,7 @@ public class SXSSFCell extends CellBase {
     }
 
     /**
-     * <p>Set the style for the cell.  The style should be an CellStyle created/retreived from
+     * <p>Set the style for the cell.  The style should be an CellStyle created/retrieved from
      * the Workbook.</p>
      *
      * <p>To change the style of a cell without affecting other cells that use the same style,
index 5929a4cad3ff01442be498161cf5d1bc72e72f14..4a07e068b54004251bfbd6da87ddd1ee96b77664 100644 (file)
@@ -606,7 +606,7 @@ public final class XSSFCell extends CellBase {
     }
 
     /**
-     * <p>Set the style for the cell.  The style should be an XSSFCellStyle created/retreived from
+     * <p>Set the style for the cell.  The style should be an XSSFCellStyle created/retrieved from
      * the XSSFWorkbook.</p>
      *
      * <p>To change the style of a cell without affecting other cells that use the same style,
index 4e6899dfc297084bcef12514062ee7039353b4ae..973909ffcff407f4134f256b33d6c2143906ef94 100644 (file)
@@ -23,6 +23,7 @@ import static org.junit.jupiter.api.Assertions.assertSame;
 
 import java.io.IOException;
 
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.tests.usermodel.BaseTestXRow;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.CellCopyPolicy;
@@ -153,6 +154,102 @@ public final class TestXSSFRow extends BaseTestXRow {
         workbook.close();
     }
 
+    @Test
+    void testCopyRowFromHssfExternalSheet() throws IOException {
+        final XSSFWorkbook xssfWorkbook = new XSSFWorkbook();
+        final HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
+        final Sheet srcSheet = hssfWorkbook.createSheet("src");
+        final XSSFSheet destSheet = xssfWorkbook.createSheet("dest");
+        xssfWorkbook.createSheet("other");
+
+        final Row srcRow = srcSheet.createRow(0);
+        int col = 0;
+        //Test 2D and 3D Ref Ptgs (Pxg for OOXML Workbooks)
+        srcRow.createCell(col++).setCellFormula("B5");
+        srcRow.createCell(col++).setCellFormula("src!B5");
+        srcRow.createCell(col++).setCellFormula("dest!B5");
+        srcRow.createCell(col++).setCellFormula("other!B5");
+
+        //Test 2D and 3D Ref Ptgs with absolute row
+        srcRow.createCell(col++).setCellFormula("B$5");
+        srcRow.createCell(col++).setCellFormula("src!B$5");
+        srcRow.createCell(col++).setCellFormula("dest!B$5");
+        srcRow.createCell(col++).setCellFormula("other!B$5");
+
+        //Test 2D and 3D Area Ptgs (Pxg for OOXML Workbooks)
+        srcRow.createCell(col++).setCellFormula("SUM(B5:D$5)");
+        srcRow.createCell(col++).setCellFormula("SUM(src!B5:D$5)");
+        srcRow.createCell(col++).setCellFormula("SUM(dest!B5:D$5)");
+        srcRow.createCell(col++).setCellFormula("SUM(other!B5:D$5)");
+
+        //////////////////
+
+        final XSSFRow destRow = destSheet.createRow(1);
+        destRow.copyRowFrom(srcRow, new CellCopyPolicy());
+
+        //////////////////
+
+        //Test 2D and 3D Ref Ptgs (Pxg for OOXML Workbooks)
+        col = 0;
+        Cell cell = destRow.getCell(col++);
+        assertNotNull(cell);
+        assertEquals("B6", cell.getCellFormula(), "RefPtg");
+
+        cell = destRow.getCell(col++);
+        assertNotNull(cell);
+        assertEquals("src!B6", cell.getCellFormula(), "Ref3DPtg");
+
+        cell = destRow.getCell(col++);
+        assertNotNull(cell);
+        assertEquals("dest!B6", cell.getCellFormula(), "Ref3DPtg");
+
+        cell = destRow.getCell(col++);
+        assertNotNull(cell);
+        assertEquals("other!B6", cell.getCellFormula(), "Ref3DPtg");
+
+        /////////////////////////////////////////////
+
+        //Test 2D and 3D Ref Ptgs with absolute row (Ptg row number shouldn't change)
+        cell = destRow.getCell(col++);
+        assertNotNull(cell);
+        assertEquals("B$5", cell.getCellFormula(), "RefPtg");
+
+        cell = destRow.getCell(col++);
+        assertNotNull(cell);
+        assertEquals("src!B$5", cell.getCellFormula(), "Ref3DPtg");
+
+        cell = destRow.getCell(col++);
+        assertNotNull(cell);
+        assertEquals("dest!B$5", cell.getCellFormula(), "Ref3DPtg");
+
+        cell = destRow.getCell(col++);
+        assertNotNull(cell);
+        assertEquals("other!B$5", cell.getCellFormula(), "Ref3DPtg");
+
+        //////////////////////////////////////////
+
+        //Test 2D and 3D Area Ptgs (Pxg for OOXML Workbooks)
+        // Note: absolute row changes from last cell to first cell in order
+        // to maintain topLeft:bottomRight order
+        cell = destRow.getCell(col++);
+        assertNotNull(cell);
+        assertEquals("SUM(B$5:D6)", cell.getCellFormula(), "Area2DPtg");
+
+        cell = destRow.getCell(col++);
+        assertNotNull(cell);
+        assertEquals("SUM(src!B$5:D6)", cell.getCellFormula(), "Area3DPtg");
+
+        cell = destRow.getCell(col++);
+        assertNotNull(destRow.getCell(6));
+        assertEquals("SUM(dest!B$5:D6)", cell.getCellFormula(), "Area3DPtg");
+
+        cell = destRow.getCell(col++);
+        assertNotNull(destRow.getCell(7));
+        assertEquals("SUM(other!B$5:D6)", cell.getCellFormula(), "Area3DPtg");
+
+        xssfWorkbook.close();
+    }
+
     @Test
     void testCopyRowOverwritesExistingRow() throws IOException {
         final XSSFWorkbook workbook = new XSSFWorkbook();