first commit
This commit is contained in:
59
hrmsEjb/jxl/read/biff/DateFormulaRecord.java
Normal file
59
hrmsEjb/jxl/read/biff/DateFormulaRecord.java
Normal file
@@ -0,0 +1,59 @@
|
||||
package jxl.read.biff;
|
||||
|
||||
import java.text.NumberFormat;
|
||||
import jxl.Cell;
|
||||
import jxl.CellType;
|
||||
import jxl.DateCell;
|
||||
import jxl.DateFormulaCell;
|
||||
import jxl.biff.FormattingRecords;
|
||||
import jxl.biff.FormulaData;
|
||||
import jxl.biff.WorkbookMethods;
|
||||
import jxl.biff.formula.ExternalSheet;
|
||||
import jxl.biff.formula.FormulaException;
|
||||
import jxl.biff.formula.FormulaParser;
|
||||
|
||||
class DateFormulaRecord extends DateRecord implements DateCell, FormulaData, DateFormulaCell {
|
||||
private String formulaString;
|
||||
|
||||
private ExternalSheet externalSheet;
|
||||
|
||||
private WorkbookMethods nameTable;
|
||||
|
||||
private byte[] data;
|
||||
|
||||
public DateFormulaRecord(NumberFormulaRecord t, FormattingRecords fr, ExternalSheet es, WorkbookMethods nt, boolean nf, SheetImpl si) throws FormulaException {
|
||||
super(t, t.getXFIndex(), fr, nf, si);
|
||||
this.externalSheet = es;
|
||||
this.nameTable = nt;
|
||||
this.data = t.getFormulaData();
|
||||
}
|
||||
|
||||
public CellType getType() {
|
||||
return CellType.DATE_FORMULA;
|
||||
}
|
||||
|
||||
public byte[] getFormulaData() throws FormulaException {
|
||||
if (!getSheet().getWorkbookBof().isBiff8())
|
||||
throw new FormulaException(FormulaException.biff8Supported);
|
||||
return this.data;
|
||||
}
|
||||
|
||||
public String getFormula() throws FormulaException {
|
||||
if (this.formulaString == null) {
|
||||
byte[] tokens = new byte[this.data.length - 16];
|
||||
System.arraycopy(this.data, 16, tokens, 0, tokens.length);
|
||||
FormulaParser fp = new FormulaParser(tokens, (Cell)this, this.externalSheet, this.nameTable, getSheet().getWorkbook().getSettings());
|
||||
fp.parse();
|
||||
this.formulaString = fp.getFormula();
|
||||
}
|
||||
return this.formulaString;
|
||||
}
|
||||
|
||||
public double getValue() {
|
||||
return 0.0D;
|
||||
}
|
||||
|
||||
public NumberFormat getNumberFormat() {
|
||||
return null;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user