View Javadoc
1   package com.github.mygreen.cellformatter;
2   
3   import java.util.Date;
4   
5   import org.apache.poi.ss.usermodel.Cell;
6   import org.apache.poi.ss.usermodel.CellType;
7   import org.apache.poi.ss.usermodel.CellValue;
8   
9   import com.github.mygreen.cellformatter.lang.ExcelDateUtils;
10  
11  /**
12   * POI用の数式の値を評価したセルのラッパークラス。
13   *
14   * @version 0.10
15   * @since 0.8.3
16   * @author T.TSUCHIE
17   *
18   */
19  public class POIEvaluatedCell extends POICell {
20  
21      private final CellValue value;
22  
23      /**
24       * セルと評価した結果を
25       * @param cell タイプが数式のセル。
26       * @param value 数式を評価した結果。
27       */
28      public POIEvaluatedCell(final Cell cell, final CellValue value) {
29          super(cell);
30          this.value = value;
31  
32      }
33  
34      /**
35       * 式を評価したセルの値を取得する。
36       * @return
37       */
38      public CellValue getCellValue() {
39          return value;
40      }
41  
42      @Override
43      public boolean isText() {
44          return value.getCellType() == CellType.STRING;
45      }
46  
47      @Override
48      public String getTextCellValue() {
49          return value.getStringValue();
50      }
51  
52      @Override
53      public boolean isBoolean() {
54          return value.getCellType() == CellType.BOOLEAN;
55      }
56  
57      @Override
58      public boolean getBooleanCellValue() {
59          return value.getBooleanValue();
60      }
61  
62      @Override
63      public boolean isNumber() {
64          return value.getCellType() == CellType.NUMERIC;
65      }
66  
67      @Override
68      public double getNumberCellValue() {
69          return value.getNumberValue();
70      }
71  
72      @Override
73      public Date getDateCellValue() {
74          return ExcelDateUtils.convertJavaDate(getNumberCellValue(), isDateStart1904());
75  
76      }
77  
78  }