📄 formularecord.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: FormulaRecord.java
package jxl.read.biff;
import common.Assert;
import common.Logger;
import jxl.CellType;
import jxl.WorkbookSettings;
import jxl.biff.*;
import jxl.biff.formula.ExternalSheet;
// Referenced classes of package jxl.read.biff:
// CellValue, SharedStringFormulaRecord, SharedErrorFormulaRecord, SharedBooleanFormulaRecord,
// SharedNumberFormulaRecord, StringFormulaRecord, BooleanFormulaRecord, ErrorFormulaRecord,
// NumberFormulaRecord, Record, File, SheetImpl
class FormulaRecord extends CellValue
{
private static class IgnoreSharedFormula
{
private IgnoreSharedFormula()
{
}
IgnoreSharedFormula(_cls1 x0)
{
this();
}
}
private static Logger logger;
private CellValue formula;
private boolean shared;
public static final IgnoreSharedFormula ignoreSharedFormula = new IgnoreSharedFormula(null);
static Class class$jxl$read$biff$FormulaRecord; /* synthetic field */
public FormulaRecord(Record t, File excelFile, FormattingRecords fr, ExternalSheet es, WorkbookMethods nt, SheetImpl si, WorkbookSettings ws)
{
super(t, fr, si);
byte data[] = getRecord().getData();
shared = false;
int grbit = IntegerHelper.getInt(data[14], data[15]);
if((grbit & 0x8) != 0)
{
shared = true;
if(data[6] == 0 && data[12] == -1 && data[13] == -1)
formula = new SharedStringFormulaRecord(t, excelFile, fr, es, nt, si, ws);
else
if(data[6] == 3 && data[12] == -1 && data[13] == -1)
formula = new SharedStringFormulaRecord(t, excelFile, fr, es, nt, si, SharedStringFormulaRecord.EMPTY_STRING);
else
if(data[6] == 2 && data[12] == -1 && data[13] == -1)
{
int errorCode = data[8];
formula = new SharedErrorFormulaRecord(t, excelFile, errorCode, fr, es, nt, si);
} else
if(data[6] == 1 && data[12] == -1 && data[13] == -1)
{
boolean value = data[8] == 1;
formula = new SharedBooleanFormulaRecord(t, excelFile, value, fr, es, nt, si);
} else
{
double value = DoubleHelper.getIEEEDouble(data, 6);
SharedNumberFormulaRecord snfr = new SharedNumberFormulaRecord(t, excelFile, value, fr, es, nt, si);
snfr.setNumberFormat(fr.getNumberFormat(getXFIndex()));
formula = snfr;
}
return;
}
if(data[6] == 0 && data[12] == -1 && data[13] == -1)
formula = new StringFormulaRecord(t, excelFile, fr, es, nt, si, ws);
else
if(data[6] == 1 && data[12] == -1 && data[13] == -1)
formula = new BooleanFormulaRecord(t, fr, es, nt, si);
else
if(data[6] == 2 && data[12] == -1 && data[13] == -1)
formula = new ErrorFormulaRecord(t, fr, es, nt, si);
else
if(data[6] == 3 && data[12] == -1 && data[13] == -1)
formula = new StringFormulaRecord(t, fr, es, nt, si);
else
formula = new NumberFormulaRecord(t, fr, es, nt, si);
}
public FormulaRecord(Record t, File excelFile, FormattingRecords fr, ExternalSheet es, WorkbookMethods nt, IgnoreSharedFormula i, SheetImpl si,
WorkbookSettings ws)
{
super(t, fr, si);
byte data[] = getRecord().getData();
shared = false;
if(data[6] == 0 && data[12] == -1 && data[13] == -1)
formula = new StringFormulaRecord(t, excelFile, fr, es, nt, si, ws);
else
if(data[6] == 1 && data[12] == -1 && data[13] == -1)
formula = new BooleanFormulaRecord(t, fr, es, nt, si);
else
if(data[6] == 2 && data[12] == -1 && data[13] == -1)
formula = new ErrorFormulaRecord(t, fr, es, nt, si);
else
formula = new NumberFormulaRecord(t, fr, es, nt, si);
}
public String getContents()
{
Assert.verify(false);
return "";
}
public CellType getType()
{
Assert.verify(false);
return CellType.EMPTY;
}
final CellValue getFormula()
{
return formula;
}
final boolean isShared()
{
return shared;
}
static Class class$(String x0)
{
return Class.forName(x0);
ClassNotFoundException x1;
x1;
throw new NoClassDefFoundError(x1.getMessage());
}
static
{
logger = Logger.getLogger(class$jxl$read$biff$FormulaRecord != null ? class$jxl$read$biff$FormulaRecord : (class$jxl$read$biff$FormulaRecord = class$("jxl.read.biff.FormulaRecord")));
}
// Unreferenced inner classes:
/* anonymous class */
static class _cls1
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -