aboutsummaryrefslogtreecommitdiffstats
path: root/src/ooxml
diff options
context:
space:
mode:
authorVladislav Galas <gallon@apache.org>2019-01-26 19:41:25 +0000
committerVladislav Galas <gallon@apache.org>2019-01-26 19:41:25 +0000
commit39d963aa3335c858ef77b4ad0eef27bdd092c88c (patch)
tree5b20b28df6ad1b70a4843bab3fb971e17d1b6e14 /src/ooxml
parent19bf8b23d5dacee226c70cece3a315e5f1e47616 (diff)
downloadpoi-39d963aa3335c858ef77b4ad0eef27bdd092c88c.tar.gz
poi-39d963aa3335c858ef77b4ad0eef27bdd092c88c.zip
made call Cell.setCellType(CellType.FORMULA) illegall. Deprecated Cell.setCellType(). Purged all redundant calls from project.
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1852246 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/ooxml')
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java5
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java28
-rw-r--r--src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java1
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java12
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java5
-rw-r--r--src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java2
6 files changed, 35 insertions, 18 deletions
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
index 6b77b91eff..8ace06e95a 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
@@ -425,8 +425,6 @@ public class XSSFPivotTable extends POIXMLDocumentPart {
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 POIXMLDocumentPart {
}
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()) {
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
index e7671c5968..57df559f95 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
@@ -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, Comparable<XSSFRow> {
}
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, Comparable<XSSFRow> {
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);
}
diff --git a/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java b/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java
index a56a8682ff..2296b6a4a9 100644
--- a/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java
+++ b/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java
@@ -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
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java b/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java
index eda6dc0ac3..46f01eb850 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExportToXML.java
@@ -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()) {
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java b/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java
index e696378667..c834cd528b 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java
@@ -187,4 +187,9 @@ public class TestSXSSFCell extends BaseTestXCell {
@Ignore
public void setCellFormula_isExceptionSafe_onBlankCell() {
}
+
+ @Test
+ @Ignore
+ public void setCellType_FORMULA_onAnArrayFormulaCell_doesNothing() {
+ }
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
index 7ed41f9c6d..99d95e1b5b 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
@@ -626,7 +626,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
// 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