📄 namerecord.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: NameRecord.java
package jxl.write.biff;
import jxl.biff.IntegerHelper;
import jxl.biff.StringHelper;
import jxl.biff.Type;
import jxl.biff.WritableRecordData;
class NameRecord extends WritableRecordData
{
class NameRange
{
private int columnFirst;
private int rowFirst;
private int columnLast;
private int rowLast;
private int externalSheet;
int getFirstColumn()
{
return columnFirst;
}
int getFirstRow()
{
return rowFirst;
}
int getLastColumn()
{
return columnLast;
}
int getLastRow()
{
return rowLast;
}
int getExternalSheet()
{
return externalSheet;
}
byte[] getData()
{
byte d[] = new byte[10];
IntegerHelper.getTwoBytes(sheetRef, d, 0);
IntegerHelper.getTwoBytes(rowFirst, d, 2);
IntegerHelper.getTwoBytes(rowLast, d, 4);
IntegerHelper.getTwoBytes(columnFirst & 0xff, d, 6);
IntegerHelper.getTwoBytes(columnLast & 0xff, d, 8);
return d;
}
NameRange(jxl.read.biff.NameRange nr)
{
columnFirst = nr.getFirstColumn();
rowFirst = nr.getFirstRow();
columnLast = nr.getLastColumn();
rowLast = nr.getLastRow();
externalSheet = nr.getExternalSheet();
}
NameRange(int theSheet, int theStartRow, int theEndRow, int theStartCol, int theEndCol)
{
columnFirst = theStartCol;
rowFirst = theStartRow;
columnLast = theEndCol;
rowLast = theEndRow;
externalSheet = theSheet;
}
}
private byte data[];
private String name;
private int index;
private int sheetRef;
private NameRange ranges[];
private static final int cellReference = 58;
private static final int areaReference = 59;
private static final int subExpression = 41;
private static final int union = 16;
public NameRecord(jxl.read.biff.NameRecord sr, int ind)
{
super(Type.NAME);
sheetRef = 0;
data = sr.getData();
name = sr.getName();
sheetRef = sr.getSheetRef();
index = ind;
jxl.read.biff.NameRange r[] = sr.getRanges();
ranges = new NameRange[r.length];
for(int i = 0; i < ranges.length; i++)
ranges[i] = new NameRange(r[i]);
}
NameRecord(String theName, int theIndex, int theSheet, int theStartRow, int theEndRow, int theStartCol, int theEndCol)
{
super(Type.NAME);
sheetRef = 0;
name = theName;
index = theIndex;
sheetRef = 0;
ranges = new NameRange[1];
ranges[0] = new NameRange(theSheet, theStartRow, theEndRow, theStartCol, theEndCol);
}
public byte[] getData()
{
if(data != null)
{
return data;
} else
{
int NAME_HEADER_LENGTH = 15;
byte AREA_RANGE_LENGTH = 11;
byte AREA_REFERENCE = 59;
data = new byte[15 + name.length() + 11];
int options = 0;
IntegerHelper.getTwoBytes(options, data, 0);
data[2] = 0;
data[3] = (byte)name.length();
IntegerHelper.getTwoBytes(11, data, 4);
IntegerHelper.getTwoBytes(ranges[0].externalSheet, data, 6);
IntegerHelper.getTwoBytes(ranges[0].externalSheet, data, 8);
StringHelper.getBytes(name, data, 15);
int pos = name.length() + 15;
data[pos] = 59;
byte rd[] = ranges[0].getData();
System.arraycopy(rd, 0, data, pos + 1, rd.length);
return data;
}
}
public String getName()
{
return name;
}
public int getIndex()
{
return index;
}
public int getSheetRef()
{
return sheetRef;
}
public void setSheetRef(int i)
{
sheetRef = i;
IntegerHelper.getTwoBytes(sheetRef, data, 8);
}
public NameRange[] getRanges()
{
return ranges;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -