forked from fanruan/easyexcel
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
3.6 KiB
141 lines
3.6 KiB
package com.alibaba.excel.metadata; |
|
|
|
import com.alibaba.excel.enums.CellDataTypeEnum; |
|
|
|
/** |
|
* excel internal cell data |
|
* |
|
* @author Jiaju Zhuang |
|
*/ |
|
public class CellData { |
|
private CellDataTypeEnum type; |
|
/** |
|
* {@link CellDataTypeEnum#NUMBER} |
|
*/ |
|
private Double doubleValue; |
|
/** |
|
* {@link CellDataTypeEnum#STRING} and{@link CellDataTypeEnum#ERROR} |
|
*/ |
|
private String stringValue; |
|
/** |
|
* {@link CellDataTypeEnum#BOOLEAN} |
|
*/ |
|
private Boolean booleanValue; |
|
private Boolean formula; |
|
private String formulaValue; |
|
|
|
public CellData(CellData other) { |
|
this.type = other.type; |
|
this.doubleValue = other.doubleValue; |
|
this.stringValue = other.stringValue; |
|
this.booleanValue = other.booleanValue; |
|
this.formula = other.formula; |
|
this.formulaValue = other.formulaValue; |
|
} |
|
|
|
public CellData(String stringValue) { |
|
this(CellDataTypeEnum.STRING, stringValue); |
|
} |
|
|
|
public CellData(CellDataTypeEnum type, String stringValue) { |
|
if (type != CellDataTypeEnum.STRING && type != CellDataTypeEnum.ERROR) { |
|
throw new IllegalArgumentException("Only support CellDataTypeEnum.STRING and CellDataTypeEnum.ERROR"); |
|
} |
|
if (stringValue == null) { |
|
throw new IllegalArgumentException("StringValue can not be null"); |
|
} |
|
this.type = type; |
|
this.stringValue = stringValue; |
|
this.formula = Boolean.FALSE; |
|
} |
|
|
|
public CellData(Double doubleValue) { |
|
if (doubleValue == null) { |
|
throw new IllegalArgumentException("DoubleValue can not be null"); |
|
} |
|
this.type = CellDataTypeEnum.NUMBER; |
|
this.doubleValue = doubleValue; |
|
this.formula = Boolean.FALSE; |
|
} |
|
|
|
public CellData(Boolean booleanValue) { |
|
if (booleanValue == null) { |
|
throw new IllegalArgumentException("BooleanValue can not be null"); |
|
} |
|
this.type = CellDataTypeEnum.BOOLEAN; |
|
this.booleanValue = booleanValue; |
|
this.formula = Boolean.FALSE; |
|
} |
|
|
|
public CellData(CellDataTypeEnum type) { |
|
if (type == null) { |
|
throw new IllegalArgumentException("Type can not be null"); |
|
} |
|
this.type = type; |
|
this.formula = Boolean.FALSE; |
|
} |
|
|
|
public CellDataTypeEnum getType() { |
|
return type; |
|
} |
|
|
|
public void setType(CellDataTypeEnum type) { |
|
this.type = type; |
|
} |
|
|
|
public Double getDoubleValue() { |
|
return doubleValue; |
|
} |
|
|
|
public void setDoubleValue(Double doubleValue) { |
|
this.doubleValue = doubleValue; |
|
} |
|
|
|
public String getStringValue() { |
|
return stringValue; |
|
} |
|
|
|
public void setStringValue(String stringValue) { |
|
this.stringValue = stringValue; |
|
} |
|
|
|
public Boolean getBooleanValue() { |
|
return booleanValue; |
|
} |
|
|
|
public void setBooleanValue(Boolean booleanValue) { |
|
this.booleanValue = booleanValue; |
|
} |
|
|
|
public Boolean getFormula() { |
|
return formula; |
|
} |
|
|
|
public void setFormula(Boolean formula) { |
|
this.formula = formula; |
|
} |
|
|
|
public String getFormulaValue() { |
|
return formulaValue; |
|
} |
|
|
|
public void setFormulaValue(String formulaValue) { |
|
this.formulaValue = formulaValue; |
|
} |
|
|
|
@Override |
|
public String toString() { |
|
switch (type) { |
|
case NUMBER: |
|
return doubleValue.toString(); |
|
case BOOLEAN: |
|
return booleanValue.toString(); |
|
case STRING: |
|
case ERROR: |
|
return stringValue; |
|
default: |
|
return "empty"; |
|
} |
|
} |
|
|
|
}
|
|
|