aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java2
-rw-r--r--poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/WorkingWithPageSetup.java2
-rw-r--r--poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFEvaluationSheet.java30
-rw-r--r--poi/src/main/java/org/apache/poi/ss/formula/WorkbookEvaluator.java2
-rw-r--r--poi/src/main/java/org/apache/poi/ss/formula/ptg/RefPtgBase.java4
-rw-r--r--poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java1
6 files changed, 31 insertions, 10 deletions
diff --git a/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java b/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java
index 9f0da5e740..60ce9b91ee 100644
--- a/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java
+++ b/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/CalendarDemo.java
@@ -41,7 +41,7 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
/**
* A monthly calendar created using Apache POI. Each month is on a separate sheet.
* This is a version of org.apache.poi.ss.examples.CalendarDemo that demonstrates
- * some XSSF features not avaiable when using common HSSF-XSSF interfaces.
+ * some XSSF features not available when using common HSSF-XSSF interfaces.
*
* <pre>
* Usage:
diff --git a/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/WorkingWithPageSetup.java b/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/WorkingWithPageSetup.java
index a43c5125a3..f05f6ff8d1 100644
--- a/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/WorkingWithPageSetup.java
+++ b/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/WorkingWithPageSetup.java
@@ -25,7 +25,7 @@ import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
/**
- * Demonstrates various settings avaiable in the Page Setup dialog
+ * Demonstrates various settings available in the Page Setup dialog
*/
public class WorkingWithPageSetup {
diff --git a/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFEvaluationSheet.java b/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFEvaluationSheet.java
index 431f585b60..4c9eba60f9 100644
--- a/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFEvaluationSheet.java
+++ b/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFEvaluationSheet.java
@@ -16,22 +16,22 @@
==================================================================== */
package org.apache.poi.xssf.usermodel;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-
+import java.io.IOException;
import java.util.AbstractMap;
import java.util.Map;
import org.apache.poi.ss.formula.EvaluationSheet;
import org.apache.poi.ss.usermodel.BaseTestXEvaluationSheet;
+import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Sheet;
import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.*;
+
class TestXSSFEvaluationSheet extends BaseTestXEvaluationSheet {
@Test
- void test() throws Exception {
+ void testSheetEval() throws Exception {
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("test");
XSSFRow row = sheet.createRow(0);
@@ -61,6 +61,26 @@ class TestXSSFEvaluationSheet extends BaseTestXEvaluationSheet {
assertEquals(sheet, evalsheet.getXSSFSheet());
}
+ @Test
+ void testBug65675() throws IOException {
+ try (XSSFWorkbook workbook = new XSSFWorkbook()) {
+ XSSFFormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
+ evaluator.setIgnoreMissingWorkbooks(true);
+
+ XSSFSheet sheet = workbook.createSheet("sheet");
+ XSSFRow row = sheet.createRow(0);
+ XSSFCell cell = row.createCell(0, CellType.FORMULA);
+
+ try {
+ cell.setCellFormula("[some-workbook-that-does-not-yet-exist.xlsx]main!B:D");
+ //it might be better if this succeeded but just adding this regression test for now
+ fail("expected exception");
+ } catch (RuntimeException re) {
+ assertEquals("Book not linked for filename some-workbook-that-does-not-yet-exist.xlsx", re.getMessage());
+ }
+ }
+ }
+
@Override
protected Map.Entry<Sheet, EvaluationSheet> getInstance() {
XSSFSheet sheet = new XSSFWorkbook().createSheet();
diff --git a/poi/src/main/java/org/apache/poi/ss/formula/WorkbookEvaluator.java b/poi/src/main/java/org/apache/poi/ss/formula/WorkbookEvaluator.java
index f1beee7569..79aa8dc374 100644
--- a/poi/src/main/java/org/apache/poi/ss/formula/WorkbookEvaluator.java
+++ b/poi/src/main/java/org/apache/poi/ss/formula/WorkbookEvaluator.java
@@ -926,7 +926,7 @@ public final class WorkbookEvaluator {
* Whether to ignore missing references to external workbooks and
* use cached formula results in the main workbook instead.
* <p>
- * In some cases exetrnal workbooks referenced by formulas in the main workbook are not avaiable.
+ * In some cases external workbooks referenced by formulas in the main workbook are not available.
* With this method you can control how POI handles such missing references:
* <ul>
* <li>by default ignoreMissingWorkbooks=false and POI throws {@link WorkbookNotFoundException}
diff --git a/poi/src/main/java/org/apache/poi/ss/formula/ptg/RefPtgBase.java b/poi/src/main/java/org/apache/poi/ss/formula/ptg/RefPtgBase.java
index e73093a716..c7b55780f6 100644
--- a/poi/src/main/java/org/apache/poi/ss/formula/ptg/RefPtgBase.java
+++ b/poi/src/main/java/org/apache/poi/ss/formula/ptg/RefPtgBase.java
@@ -33,8 +33,8 @@ import org.apache.poi.util.LittleEndianOutput;
public abstract class RefPtgBase extends OperandPtg {
/**
- * YK: subclasses of RefPtgBase are used by the FormulaParser and FormulaEvaluator accross HSSF and XSSF.
- * The bit mask should accommodate the maximum number of avaiable columns, i.e. 0x3FFF.
+ * YK: subclasses of RefPtgBase are used by the FormulaParser and FormulaEvaluator across HSSF and XSSF.
+ * The bit mask should accommodate the maximum number of available columns, i.e. 0x3FFF.
*
* @see org.apache.poi.ss.SpreadsheetVersion
*/
diff --git a/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java b/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java
index 08fbae584e..c1a02f3aaa 100644
--- a/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java
+++ b/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestXEvaluationSheet.java
@@ -46,4 +46,5 @@ public abstract class BaseTestXEvaluationSheet {
underlyingSheet.removeRow(underlyingSheet.getRow(2));
assertEquals(1, instance.getLastRowNum());
}
+
}