📄 sharedformulaarea.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: SharedFormulaArea.java
package jxl.biff.formula;
import jxl.Cell;
import jxl.biff.CellReferenceHelper;
import jxl.biff.IntegerHelper;
// Referenced classes of package jxl.biff.formula:
// Operand, ParsedThing, Token
class SharedFormulaArea extends Operand
implements ParsedThing
{
private int columnFirst;
private int rowFirst;
private int columnLast;
private int rowLast;
private boolean columnFirstRelative;
private boolean rowFirstRelative;
private boolean columnLastRelative;
private boolean rowLastRelative;
private Cell relativeTo;
public SharedFormulaArea(Cell rt)
{
relativeTo = rt;
}
int getFirstColumn()
{
return columnFirst;
}
int getFirstRow()
{
return rowFirst;
}
int getLastColumn()
{
return columnLast;
}
int getLastRow()
{
return rowLast;
}
public int read(byte data[], int pos)
{
rowFirst = IntegerHelper.getShort(data[pos], data[pos + 1]);
rowLast = IntegerHelper.getShort(data[pos + 2], data[pos + 3]);
int columnMask = IntegerHelper.getInt(data[pos + 4], data[pos + 5]);
columnFirst = columnMask & 0xff;
columnFirstRelative = (columnMask & 0x4000) != 0;
rowFirstRelative = (columnMask & 0x8000) != 0;
if(columnFirstRelative)
columnFirst = relativeTo.getColumn() + columnFirst;
if(rowFirstRelative)
rowFirst = relativeTo.getRow() + rowFirst;
columnMask = IntegerHelper.getInt(data[pos + 6], data[pos + 7]);
columnLast = columnMask & 0xff;
columnLastRelative = (columnMask & 0x4000) != 0;
rowLastRelative = (columnMask & 0x8000) != 0;
if(columnLastRelative)
columnLast = relativeTo.getColumn() + columnLast;
if(rowLastRelative)
rowLast = relativeTo.getRow() + rowLast;
return 8;
}
public void getString(StringBuffer buf)
{
CellReferenceHelper.getCellReference(columnFirst, rowFirst, buf);
buf.append(':');
CellReferenceHelper.getCellReference(columnLast, rowLast, buf);
}
byte[] getBytes()
{
byte data[] = new byte[9];
data[0] = Token.AREA.getCode();
IntegerHelper.getTwoBytes(rowFirst, data, 1);
IntegerHelper.getTwoBytes(rowLast, data, 3);
IntegerHelper.getTwoBytes(columnFirst, data, 5);
IntegerHelper.getTwoBytes(columnLast, data, 7);
return data;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -