]> source.dussan.org Git - poi.git/commitdiff
[bug-65306] try to fix broken test
authorPJ Fanning <fanningpj@apache.org>
Sun, 10 Oct 2021 08:02:20 +0000 (08:02 +0000)
committerPJ Fanning <fanningpj@apache.org>
Sun, 10 Oct 2021 08:02:20 +0000 (08:02 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1894093 13f79535-47bb-0310-9956-ffa450edef68

poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestSheetUpdateArrayFormulas.java

index 48436bb8263dbe4fbe05ebc04839ebece22a27f6..9b02b08066729c42cc58c8a7a0e74759ad484e47 100644 (file)
@@ -3055,7 +3055,10 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet  {
             // check if we should remove this row as it will be overwritten by the data later
             if (shouldRemoveRow(startRow, endRow, n, rownum)) {
                 for (Cell c : row) {
-                    c.setBlank();
+                    if (!c.isPartOfArrayFormulaGroup()) {
+                        //the support for deleting cells that are part of array formulas is not implemented yet
+                        c.setBlank();
+                    }
                 }
                 // remove row from worksheet.getSheetData row array
                 // Performance optimization: explicit boxing is slightly faster than auto-unboxing, though may use more memory
index 2cb1acdfbe801d4f018203d8c1c7c6ddc7cb5a65..8f67877635f0cf5ad9c960642b3b6fde9be76e6e 100644 (file)
@@ -495,7 +495,7 @@ public abstract class BaseTestSheetUpdateArrayFormulas {
             //we cannot set individual formulas for cells included in an array formula
             sheet.setArrayFormula("A1:A3*B1:B3", CellRangeAddress.valueOf("C1:C3"));
             IllegalStateException e = assertThrows(IllegalStateException.class, () -> sheet.shiftRows(0, 0, 1));
-            String msg = "Cell Sheet0!C2 is part of a multi-cell array formula. You cannot change part of an array.";
+            String msg = "Row[rownum=0] contains cell(s) included in a multi-cell array formula. You cannot change part of an array.";
             assertEquals(msg, e.getMessage());
         /*
          TODO: enable shifting the whole array