POIEvaluatedCell.java
package com.github.mygreen.cellformatter;
import java.util.Date;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.CellValue;
import com.github.mygreen.cellformatter.lang.ExcelDateUtils;
/**
* POI用の数式の値を評価したセルのラッパークラス。
*
* @version 0.10
* @since 0.8.3
* @author T.TSUCHIE
*
*/
public class POIEvaluatedCell extends POICell {
private final CellValue value;
/**
* セルと評価した結果を
* @param cell タイプが数式のセル。
* @param value 数式を評価した結果。
*/
public POIEvaluatedCell(final Cell cell, final CellValue value) {
super(cell);
this.value = value;
}
/**
* 式を評価したセルの値を取得する。
* @return
*/
public CellValue getCellValue() {
return value;
}
@Override
public boolean isText() {
return value.getCellType() == CellType.STRING;
}
@Override
public String getTextCellValue() {
return value.getStringValue();
}
@Override
public boolean isBoolean() {
return value.getCellType() == CellType.BOOLEAN;
}
@Override
public boolean getBooleanCellValue() {
return value.getBooleanValue();
}
@Override
public boolean isNumber() {
return value.getCellType() == CellType.NUMERIC;
}
@Override
public double getNumberCellValue() {
return value.getNumberValue();
}
@Override
public Date getDateCellValue() {
return ExcelDateUtils.convertJavaDate(getNumberCellValue(), isDateStart1904());
}
}