import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.util.DateFormatConverter;
+import org.apache.poi.util.Internal;
/**
* Format a value according to the standard Excel behavior. This "standard" is
* @return The result, in a {@link CellFormatResult}.
*/
public CellFormatResult apply(Cell c) {
- switch (ultimateType(c)) {
+ switch (ultimateTypeEnum(c)) {
case BLANK:
return apply("");
case BOOLEAN:
* @return The result, in a {@link CellFormatResult}.
*/
public CellFormatResult apply(JLabel label, Cell c) {
- switch (ultimateType(c)) {
+ switch (ultimateTypeEnum(c)) {
case BLANK:
return apply(label, "");
case BOOLEAN:
}
}
+
+ /**
+ * Returns the ultimate cell type, following the results of formulas. If
+ * the cell is a {@link CellType#FORMULA}, this returns the result of
+ * {@link Cell#getCachedFormulaResultTypeEnum()}. Otherwise this returns the
+ * result of {@link Cell#getCellTypeEnum()}.
+ *
+ * Will return {@link CellType} in a future version of POI.
+ * For forwards compatibility, do not hard-code cell type literals in your code.
+ *
+ * @param cell The cell.
+ *
+ * @return The ultimate type of this cell.
+ */
+ public static int ultimateType(Cell cell) {
+ return ultimateTypeEnum(cell).getCode();
+ }
/**
* Returns the ultimate cell type, following the results of formulas. If
* @param cell The cell.
*
* @return The ultimate type of this cell.
+ * @since POI 3.15 beta 3
+ * @deprecated POI 3.15 beta 3
+ * Will be deleted when we make the CellType enum transition. See bug 59791.
*/
- public static CellType ultimateType(Cell cell) {
+ @Internal
+ public static CellType ultimateTypeEnum(Cell cell) {
CellType type = cell.getCellTypeEnum();
if (type == CellType.FORMULA)
return cell.getCachedFormulaResultTypeEnum();
private Value _value;
private CellStyle _style;
private Property _firstProperty;
+
+ /**
+ * @deprecated POI 3.15 beta 3.
+ * Will be deleted when we make the CellType enum transition. See bug 59791.
+ */
+ public SXSSFCell(SXSSFRow row, int cellType)
+ {
+ this(row, CellType.forInt((cellType)));
+ }
public SXSSFCell(SXSSFRow row,CellType cellType)
{
public void testGeneralFormat() throws Exception {
runFormatTests("GeneralFormatTests.xlsx", new CellValue() {
public Object getValue(Cell cell) {
- switch (CellFormat.ultimateType(cell)) {
+ switch (CellFormat.ultimateTypeEnum(cell)) {
case BOOLEAN:
return cell.getBooleanCellValue();
case NUMERIC:
public void testTextFormat() throws Exception {
runFormatTests("TextFormatTests.xlsx", new CellValue() {
public Object getValue(Cell cell) {
- switch(CellFormat.ultimateType(cell)) {
+ switch(CellFormat.ultimateTypeEnum(cell)) {
case BOOLEAN:
return cell.getBooleanCellValue();
default: