📄 sharedformularecord.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: SharedFormulaRecord.java
package jxl.read.biff;
import common.Logger;
import java.util.ArrayList;
import jxl.Cell;
import jxl.CellType;
import jxl.biff.*;
import jxl.biff.formula.ExternalSheet;
// Referenced classes of package jxl.read.biff:
// SharedNumberFormulaRecord, SharedDateFormulaRecord, BaseSharedFormulaRecord, Record,
// SheetImpl
class SharedFormulaRecord
{
private static Logger logger;
private int firstRow;
private int lastRow;
private int firstCol;
private int lastCol;
private BaseSharedFormulaRecord templateFormula;
private ArrayList formulas;
private byte tokens[];
private ExternalSheet externalSheet;
private SheetImpl sheet;
static Class class$jxl$read$biff$SharedFormulaRecord; /* synthetic field */
public SharedFormulaRecord(Record t, BaseSharedFormulaRecord fr, ExternalSheet es, WorkbookMethods nt, SheetImpl si)
{
sheet = si;
byte data[] = t.getData();
firstRow = IntegerHelper.getInt(data[0], data[1]);
lastRow = IntegerHelper.getInt(data[2], data[3]);
firstCol = data[4] & 0xff;
lastCol = data[5] & 0xff;
formulas = new ArrayList();
templateFormula = fr;
tokens = new byte[data.length - 10];
System.arraycopy(data, 10, tokens, 0, tokens.length);
}
public boolean add(BaseSharedFormulaRecord fr)
{
boolean added = false;
int r = fr.getRow();
if(r >= firstRow && r <= lastRow)
{
int c = fr.getColumn();
if(c >= firstCol && c <= lastCol)
{
formulas.add(fr);
added = true;
}
}
return added;
}
Cell[] getFormulas(FormattingRecords fr, boolean nf)
{
Cell sfs[] = new Cell[formulas.size() + 1];
if(templateFormula == null)
{
logger.warn("Shared formula template formula is null");
return new Cell[0];
}
templateFormula.setTokens(tokens);
java.text.NumberFormat templateNumberFormat = null;
if(templateFormula.getType() == CellType.NUMBER_FORMULA)
{
SharedNumberFormulaRecord snfr = (SharedNumberFormulaRecord)templateFormula;
templateNumberFormat = snfr.getNumberFormat();
if(fr.isDate(templateFormula.getXFIndex()))
{
templateFormula = new SharedDateFormulaRecord(snfr, fr, nf, sheet, snfr.getFilePos());
templateFormula.setTokens(snfr.getTokens());
}
}
sfs[0] = templateFormula;
BaseSharedFormulaRecord f = null;
for(int i = 0; i < formulas.size(); i++)
{
f = (BaseSharedFormulaRecord)formulas.get(i);
if(f.getType() == CellType.NUMBER_FORMULA)
{
SharedNumberFormulaRecord snfr = (SharedNumberFormulaRecord)f;
if(fr.isDate(f.getXFIndex()))
f = new SharedDateFormulaRecord(snfr, fr, nf, sheet, snfr.getFilePos());
}
f.setTokens(tokens);
sfs[i + 1] = f;
}
return sfs;
}
BaseSharedFormulaRecord getTemplateFormula()
{
return templateFormula;
}
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$SharedFormulaRecord != null ? class$jxl$read$biff$SharedFormulaRecord : (class$jxl$read$biff$SharedFormulaRecord = class$("jxl.read.biff.SharedFormulaRecord")));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -