You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ga...@apache.org on 2019/01/26 19:41:25 UTC
svn commit: r1852246 - in /poi/trunk/src:
examples/src/org/apache/poi/hssf/usermodel/examples/
java/org/apache/poi/hssf/usermodel/ java/org/apache/poi/ss/usermodel/
ooxml/java/org/apache/poi/xssf/usermodel/
ooxml/testcases/org/apache/poi/ss/formula/fun...
Author: gallon
Date: Sat Jan 26 19:41:25 2019
New Revision: 1852246
URL: http://svn.apache.org/viewvc?rev=1852246&view=rev
Log:
made call Cell.setCellType(CellType.FORMULA) illegall. Deprecated Cell.setCellType(). Purged all redundant calls from project.
Modified:
poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/CellTypes.java
poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/HyperlinkFormula.java
poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java
poi/trunk/src/java/org/apache/poi/ss/usermodel/Cell.java
poi/trunk/src/java/org/apache/poi/ss/usermodel/CellBase.java
poi/trunk/src/java/org/apache/poi/ss/usermodel/RangeCopier.java
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDataFormatter.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCalendarFieldFunction.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDate.java
poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestFixed.java
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java
Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/CellTypes.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/CellTypes.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/CellTypes.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/CellTypes.java Sat Jan 26 19:41:25 2019
@@ -24,7 +24,7 @@ import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.CellType;
+import org.apache.poi.ss.usermodel.FormulaError;
public class CellTypes {
public static void main(String[] args) throws IOException {
@@ -35,7 +35,7 @@ public class CellTypes {
row.createCell(1).setCellValue(new Date());
row.createCell(2).setCellValue("a string");
row.createCell(3).setCellValue(true);
- row.createCell(4).setCellType(CellType.ERROR);
+ row.createCell(4).setCellErrorValue(FormulaError.NUM);
// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/HyperlinkFormula.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/HyperlinkFormula.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/HyperlinkFormula.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/HyperlinkFormula.java Sat Jan 26 19:41:25 2019
@@ -24,7 +24,6 @@ import org.apache.poi.hssf.usermodel.HSS
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.CellType;
/**
* Test if hyperlink formula, with url that got more than 127 characters, works
@@ -36,7 +35,6 @@ public class HyperlinkFormula {
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
- cell.setCellType(CellType.FORMULA);
cell.setCellFormula("HYPERLINK(\"http://127.0.0.1:8080/toto/truc/index.html?test=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", \"test\")");
try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
Modified: poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java Sat Jan 26 19:41:25 2019
@@ -292,8 +292,6 @@ public class HSSFCell extends CellBase {
}
if (getCellType() == CellType.BLANK) {
frec.getFormulaRecord().setValue(0);
- } else if (setValue) {
- frec.getFormulaRecord().setValue(getNumericCellValue());
}
frec.setXFIndex(styleIndex);
_record = frec;
Modified: poi/trunk/src/java/org/apache/poi/ss/usermodel/Cell.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/usermodel/Cell.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/usermodel/Cell.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/usermodel/Cell.java Sat Jan 26 19:41:25 2019
@@ -78,15 +78,22 @@ public interface Cell {
* <p>to NUMERIC: numeric value is left as is. True converts to 1.0, false converts to 0. otherwise, the
* value is set to 0. Formula is removed.</p>
* <p>If what you want to do is get a String value for your
- * numeric cell, <i>stop!</i>. This is not the way to do it.
+ * numeric cell, <i>stop!</i> This is not the way to do it.
* Instead, for fetching the string value of a numeric or boolean
* or date cell, use {@link DataFormatter} instead.</p>
* <p>If cell is a member of an array formula group containing more than 1 cell, an {@link IllegalStateException}
- * is thrown. If the array formula group contains only this cell, it is removed</p>
- * @throws IllegalArgumentException if the specified cell type is invalid (null or _NONE)
+ * is thrown. If the array formula group contains only this cell, it is removed.</p>
+ * <p>Passing {@link CellType#FORMULA} is illegal and will result in an {@link IllegalArgumentException}.</p>
+ *
+ * @deprecated This method is deprecated and will be removed in POI 5.0.
+ * Use explicit {@link #setCellFormula(String)}, <code>setCellValue(...)</code> or {@link #setBlank()}
+ * to get the desired result.
+ * @throws IllegalArgumentException if the specified cell type is invalid (null, _NONE or FORMULA)
* @throws IllegalStateException if the current value cannot be converted to the new type or
* if the cell is a part of an array formula group containing other cells
*/
+ @Deprecated
+ @Removal(version = "5.0")
void setCellType(CellType cellType);
/**
Modified: poi/trunk/src/java/org/apache/poi/ss/usermodel/CellBase.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/usermodel/CellBase.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/usermodel/CellBase.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/usermodel/CellBase.java Sat Jan 26 19:41:25 2019
@@ -35,6 +35,15 @@ public abstract class CellBase implement
throw new IllegalArgumentException("cellType shall not be null nor _NONE");
}
+ if (cellType == CellType.FORMULA) {
+ if (getCellType() != CellType.FORMULA){
+ throw new IllegalArgumentException("Calling Cell.setCellType(CellType.FORMULA) is illegal. " +
+ "Use setCellFormula(String) directly.");
+ } else {
+ return;
+ }
+ }
+
tryToDeleteArrayFormulaIfSet();
setCellTypeImpl(cellType);
Modified: poi/trunk/src/java/org/apache/poi/ss/usermodel/RangeCopier.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/usermodel/RangeCopier.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/usermodel/RangeCopier.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/usermodel/RangeCopier.java Sat Jan 26 19:41:25 2019
@@ -94,9 +94,9 @@ public abstract class RangeCopier {
destRow = destSheet.createRow(rowNo + deltaY);
Cell newCell = destRow.getCell(columnIndex + deltaX);
- if(newCell != null)
- newCell.setCellType(sourceCell.getCellType());
- else newCell = destRow.createCell(columnIndex + deltaX, sourceCell.getCellType());
+ if(newCell == null) {
+ newCell = destRow.createCell(columnIndex + deltaX);
+ }
cloneCellContent(sourceCell, newCell, null);
if(newCell.getCellType() == CellType.FORMULA)
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java Sat Jan 26 19:41:25 2019
@@ -425,8 +425,6 @@ public class XSSFPivotTable extends POIX
private void addDataField(DataConsolidateFunction function, int columnIndex, String valueFieldName, String valueFormat) {
checkColumnIndex(columnIndex);
- AreaReference pivotArea = getPivotArea();
-
CTDataFields dataFields;
if(pivotTableDefinition.getDataFields() != null) {
dataFields = pivotTableDefinition.getDataFields();
@@ -435,9 +433,6 @@ public class XSSFPivotTable extends POIX
}
CTDataField dataField = dataFields.addNewDataField();
dataField.setSubtotal(STDataConsolidateFunction.Enum.forInt(function.getValue()));
- Cell cell = getDataSheet().getRow(pivotArea.getFirstCell().getRow())
- .getCell(pivotArea.getFirstCell().getCol() + columnIndex);
- cell.setCellType(CellType.STRING);
dataField.setName(valueFieldName);
dataField.setFld(columnIndex);
if (valueFormat != null && !valueFormat.trim().isEmpty()) {
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java Sat Jan 26 19:41:25 2019
@@ -28,6 +28,7 @@ import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellCopyPolicy;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.CellType;
+import org.apache.poi.ss.usermodel.FormulaError;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.helpers.RowShifter;
import org.apache.poi.ss.util.CellRangeAddress;
@@ -220,12 +221,33 @@ public class XSSFRow implements Row, Com
}
XSSFCell xcell = new XSSFCell(this, ctCell);
xcell.setCellNum(columnIndex);
- if (type != CellType.BLANK) {
- xcell.setCellType(type);
+ if (type != CellType.BLANK && type != CellType.FORMULA) {
+ setDefaultValue(xcell, type);
}
+
_cells.put(colI, xcell);
return xcell;
}
+
+ private static void setDefaultValue(XSSFCell cell, CellType type) {
+ switch (type) {
+ case NUMERIC:
+ cell.setCellValue(0);
+ break;
+ case STRING:
+ cell.setCellValue("");
+ break;
+ case BOOLEAN:
+ cell.setCellValue(false);
+ break;
+ case ERROR:
+ cell.setCellErrorValue(FormulaError._NO_ERROR);
+ break;
+ default:
+ throw new AssertionError();
+ }
+ }
+
/**
* Returns the cell at the given (0 based) index,
* with the {@link org.apache.poi.ss.usermodel.Row.MissingCellPolicy} from the parent Workbook.
@@ -588,7 +610,7 @@ public class XSSFRow implements Row, Com
else {
for (final Cell c : srcRow){
final XSSFCell srcCell = (XSSFCell)c;
- final XSSFCell destCell = createCell(srcCell.getColumnIndex(), srcCell.getCellType());
+ final XSSFCell destCell = createCell(srcCell.getColumnIndex());
destCell.copyCellFrom(srcCell, policy);
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java Sat Jan 26 19:41:25 2019
@@ -59,7 +59,6 @@ public final class TestProper {
private void confirm(Workbook wb) {
Sheet sheet = wb.createSheet("new sheet");
cell11 = sheet.createRow(0).createCell(0);
- cell11.setCellType(CellType.FORMULA);
confirm("PROPER(\"hi there\")", "Hi There"); //simple case
confirm("PROPER(\"what's up\")", "What'S Up"); //apostrophes are treated as word breaks
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java Sat Jan 26 19:41:25 2019
@@ -537,20 +537,16 @@ public final class TestXSSFExportToXML {
Cell cFormulaString = row.createCell(3);
cFormulaString.setCellFormula("A1");
- cFormulaString.setCellType(CellType.FORMULA);
-
+
Cell cFormulaNumeric = row.createCell(4);
cFormulaNumeric.setCellFormula("F1");
- cFormulaNumeric.setCellType(CellType.FORMULA);
-
+
Cell cNumeric = row.createCell(5);
cNumeric.setCellValue(1.2);
- cNumeric.setCellType(CellType.NUMERIC);
-
+
Cell cDate = row.createCell(6);
cDate.setCellValue(new Date());
- cDate.setCellType(CellType.NUMERIC);
-
+
boolean found = false;
for (POIXMLDocumentPart p : wb.getRelations()) {
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java Sat Jan 26 19:41:25 2019
@@ -187,4 +187,9 @@ public class TestSXSSFCell extends BaseT
@Ignore
public void setCellFormula_isExceptionSafe_onBlankCell() {
}
+
+ @Test
+ @Ignore
+ public void setCellType_FORMULA_onAnArrayFormulaCell_doesNothing() {
+ }
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java Sat Jan 26 19:41:25 2019
@@ -626,7 +626,7 @@ public final class TestXSSFBugs extends
// Otherwise should go
sheet.getRow(1).getCell(0).setCellFormula("A1"); // stay
sheet.getRow(2).getCell(0).setCellFormula(null); // go
- sheet.getRow(3).getCell(0).setCellType(CellType.FORMULA); // stay
+ sheet.getRow(3).getCell(0).setCellFormula("14"); // stay
XSSFTestDataSamples.writeOutAndReadBack(wb1).close();
sheet.getRow(4).getCell(0).setCellType(CellType.STRING); // go
Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDataFormatter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDataFormatter.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDataFormatter.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDataFormatter.java Sat Jan 26 19:41:25 2019
@@ -217,7 +217,6 @@ public final class TestHSSFDataFormatter
{ // formula cell
row = sheet.createRow(7);
HSSFCell cell = row.createCell(0);
- cell.setCellType(CellType.FORMULA);
cell.setCellFormula("SUM(12.25,12.25)/100");
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(format.getFormat("##.00%;"));
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCalendarFieldFunction.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCalendarFieldFunction.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCalendarFieldFunction.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestCalendarFieldFunction.java Sat Jan 26 19:41:25 2019
@@ -40,7 +40,6 @@ public final class TestCalendarFieldFunc
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
cell11 = sheet.createRow(0).createCell(0);
- cell11.setCellType(CellType.FORMULA);
evaluator = new HSSFFormulaEvaluator(wb);
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDate.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDate.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDate.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestDate.java Sat Jan 26 19:41:25 2019
@@ -40,7 +40,6 @@ public final class TestDate extends Test
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
cell11 = sheet.createRow(0).createCell(0);
- cell11.setCellType(CellType.FORMULA);
evaluator = new HSSFFormulaEvaluator(wb);
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestFixed.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestFixed.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestFixed.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestFixed.java Sat Jan 26 19:41:25 2019
@@ -48,7 +48,6 @@ public final class TestFixed {
try {
HSSFSheet sheet = wb.createSheet("new sheet");
cell11 = sheet.createRow(0).createCell(0);
- cell11.setCellType(CellType.FORMULA);
evaluator = new HSSFFormulaEvaluator(wb);
} finally {
wb.close();
Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java Sat Jan 26 19:41:25 2019
@@ -1218,8 +1218,7 @@ public abstract class BaseTestBugzillaIs
value == null || value.length() == 0);
cell = row.createCell(1);
- // also verify that setting formulas to null works
- cell.setCellType(CellType.FORMULA);
+ cell.setCellFormula("0");
cell.setCellValue((String)null);
wb.getCreationHelper().createFormulaEvaluator().evaluateAll();
Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java Sat Jan 26 19:41:25 2019
@@ -1358,6 +1358,38 @@ public abstract class BaseTestCell {
assertTrue(cell.getBooleanCellValue());
}
+ @Test(expected = IllegalArgumentException.class)
+ public void setCellType_FORMULA_onANonFormulaCell_throwsIllegalArgumentException() {
+ Cell cell = getInstance();
+ cell.setCellType(CellType.FORMULA);
+ }
+
+ @Test
+ public void setCellType_FORMULA_onAFormulaCell_doesNothing() {
+ Cell cell = getInstance();
+ cell.setCellFormula("3");
+ cell.setCellValue("foo");
+
+ cell.setCellType(CellType.FORMULA);
+
+ assertEquals(CellType.FORMULA, cell.getCellType());
+ assertEquals(CellType.STRING, cell.getCachedFormulaResultType());
+ assertEquals("foo", cell.getStringCellValue());
+ }
+
+ @Test
+ public void setCellType_FORMULA_onAnArrayFormulaCell_doesNothing() {
+ Cell cell = getInstance();
+ cell.getSheet().setArrayFormula("3", CellRangeAddress.valueOf("A1:A2"));
+ cell.setCellValue("foo");
+
+ cell.setCellType(CellType.FORMULA);
+
+ assertEquals(CellType.FORMULA, cell.getCellType());
+ assertEquals(CellType.STRING, cell.getCachedFormulaResultType());
+ assertEquals("foo", cell.getStringCellValue());
+ }
+
@Test
public final void setBlank_delegatesTo_setCellType_BLANK() {
Cell cell = mock(CellBase.class);
Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java?rev=1852246&r1=1852245&r2=1852246&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java Sat Jan 26 19:41:25 2019
@@ -384,12 +384,10 @@ public abstract class BaseTestFormulaEva
// sheet1 A2 formulae
cell = sheet1.createRow(1).createCell(0);
- cell.setCellType(CellType.FORMULA);
cell.setCellFormula("SUM(Sheet1:Sheet3!A1)");
// sheet1 A3 formulae
cell = sheet1.createRow(2).createCell(0);
- cell.setCellType(CellType.FORMULA);
cell.setCellFormula("SUM(Sheet1:Sheet3!A1:B1)");
wb.getCreationHelper().createFormulaEvaluator().evaluateAll();
@@ -589,7 +587,6 @@ public abstract class BaseTestFormulaEva
if (cell == null) {
cell = r.createCell(column);
}
- cell.setCellType(CellType.FORMULA);
cell.setCellFormula(formula);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org