The main data of all types of references is stored in the Link Table inside the Workbook Globals Substream (4.2.5). The Link Table itself is optional and occurs only if there are any references in the document.
In BIFF8 the Link Table consists of
each consisting of
each consisting of
| Modifier and Type | Class and Description |
|---|---|
| private static class | |
| private static class |
| Modifier and Type | Field and Description |
|---|---|
| private final List | |
| private LinkTable. | |
| private final ExternSheetRecord | |
| private final int | |
| private final WorkbookRecordList |
| Access | Constructor and Description |
|---|---|
| public | LinkTable(List<Record> inputList, int startIndex, WorkbookRecordList workbookRecordList, Map<String, NameCommentRecord> commentRecords)
|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public NameXPtg | Returns: a NameXPtg describing this namethe name to register name)Register an external name in this workbook |
| public boolean | Returns: true if the oldUrl was found and replaced with newUrl. Otherwise falseThe old URL to search for and which is to be replaced oldUrl, String The URL replacement newUrl)Changes an external referenced file to another file. |
| public int | |
| public int | |
| private int | |
| private int | |
| private int | |
| public String[] | |
| public int | |
| private int | |
| public int | Returns: -1 if the reference is to an external book
|
| public int | Returns: -1 if the reference is to an external book
|
| public NameRecord | |
| public NameXPtg | getNameXPtg(String name, int
The Extern Sheet Index to look for, or -1 if any sheetRefIndex)Finds the external name definition for the given name, optionally restricted by externsheet index, and returns (if found) as a NameXPtg. |
| public int | |
| public int | |
| private static int | |
| public NameRecord | getSpecificBuiltinRecord(byte
a BUILTIN_~ constant from builtInCode, int NameRecord1-based sheet number sheetNumber)
|
| private static boolean | |
| private static boolean | |
| public int | |
| public boolean | |
| private static ExternSheetRecord | |
| public void | |
| public void | |
| public void | |
| public int | |
| public String |
| _definedNames | back to summary |
|---|---|
| private final List<NameRecord> _definedNames | |
| _externalBookBlocks | back to summary |
|---|---|
| private LinkTable. | |
| _externSheetRecord | back to summary |
|---|---|
| private final ExternSheetRecord _externSheetRecord | |
| _recordCount | back to summary |
|---|---|
| private final int _recordCount | |
| _workbookRecordList | back to summary |
|---|---|
| private final WorkbookRecordList _workbookRecordList | |
| LinkTable | back to summary |
|---|---|
| public LinkTable(List<Record> inputList, int startIndex, WorkbookRecordList workbookRecordList, Map<String, NameCommentRecord> commentRecords) | |
| LinkTable | back to summary |
|---|---|
| public LinkTable(int numberOfSheets, WorkbookRecordList workbookRecordList) | |
| addName | back to summary |
|---|---|
| public void addName(NameRecord name) | |
| addNameXPtg | back to summary |
|---|---|
| public NameXPtg addNameXPtg(String name) Register an external name in this workbook | |
| changeExternalReference | back to summary |
|---|---|
| public boolean changeExternalReference(String oldUrl, String newUrl) Changes an external referenced file to another file. A formular in Excel which refers a cell in another file is saved in two parts: The referenced file is stored in an reference table. the row/cell information is saved separate. This method invokation will only change the reference in the lookup-table itself. | |
| checkExternSheet | back to summary |
|---|---|
| public int checkExternSheet(int sheetIndex) | |
| checkExternSheet | back to summary |
|---|---|
| public int checkExternSheet(int firstSheetIndex, int lastSheetIndex) | |
| extendExternalBookBlocks | back to summary |
|---|---|
| private int extendExternalBookBlocks(LinkTable. | |
| findFirstRecordLocBySid | back to summary |
|---|---|
| private int findFirstRecordLocBySid(short sid) copied from Workbook | |
| findRefIndexFromExtBookIndex | back to summary |
|---|---|
| private int findRefIndexFromExtBookIndex(int extBookIndex) | |
| getExternalBookAndSheetName | back to summary |
|---|---|
| public String[] getExternalBookAndSheetName(int extRefIndex) | |
| getExternalSheetIndex | back to summary |
|---|---|
| public int getExternalSheetIndex(String workbookName, String firstSheetName, String lastSheetName) | |
| getExternalWorkbookIndex | back to summary |
|---|---|
| private int getExternalWorkbookIndex(String workbookName) | |
| getFirstInternalSheetIndexForExtIndex | back to summary |
|---|---|
| public int getFirstInternalSheetIndexForExtIndex(int extRefIndex) | |
| getLastInternalSheetIndexForExtIndex | back to summary |
|---|---|
| public int getLastInternalSheetIndexForExtIndex(int extRefIndex) | |
| getNameRecord | back to summary |
|---|---|
| public NameRecord getNameRecord(int index) | |
| getNameXPtg | back to summary |
|---|---|
| public NameXPtg getNameXPtg(String name, int sheetRefIndex) Finds the external name definition for the given name, optionally restricted by externsheet index, and returns (if found) as a NameXPtg.
| |
| getNumNames | back to summary |
|---|---|
| public int getNumNames() | |
| getRecordCount | back to summary |
|---|---|
| public int getRecordCount() TODO - would not be required if calling code used RecordStream or similar | |
| getSheetIndex | back to summary |
|---|---|
| private static int getSheetIndex(String[] sheetNames, String sheetName) | |
| getSpecificBuiltinRecord | back to summary |
|---|---|
public NameRecord getSpecificBuiltinRecord(byte builtInCode, int sheetNumber)
| |
| isDuplicatedNames | back to summary |
|---|---|
| private static boolean isDuplicatedNames(NameRecord firstName, NameRecord lastName) | |
| isSameSheetNames | back to summary |
|---|---|
| private static boolean isSameSheetNames(NameRecord firstName, NameRecord lastName) | |
| linkExternalWorkbook | back to summary |
|---|---|
| public int linkExternalWorkbook(String name, Workbook externalWorkbook) | |
| nameAlreadyExists | back to summary |
|---|---|
| public boolean nameAlreadyExists(NameRecord name) checks if the given name is already included in the linkTable | |
| readExtSheetRecord | back to summary |
|---|---|
| private static ExternSheetRecord readExtSheetRecord(RecordStream rs) | |
| removeBuiltinRecord | back to summary |
|---|---|
| public void removeBuiltinRecord(byte name, int sheetIndex) | |
| removeName | back to summary |
|---|---|
| public void removeName(int namenum) | |
| removeSheet | back to summary |
|---|---|
| public void removeSheet(int sheetIdx) | |
| resolveNameXIx | back to summary |
|---|---|
| public int resolveNameXIx(int refIndex, int definedNameIndex) | |
| resolveNameXText | back to summary |
|---|---|
| public String resolveNameXText(int refIndex, int definedNameIndex, InternalWorkbook workbook) | |
| Modifier and Type | Field and Description |
|---|---|
| private final CRNCountRecord | |
| private final CRNRecord[] |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public CRNRecord[] |
| _countRecord | back to summary |
|---|---|
| private final CRNCountRecord _countRecord | |
| _crns | back to summary |
|---|---|
| private final CRNRecord[] _crns | |
| CRNBlock | back to summary |
|---|---|
| public CRNBlock(RecordStream rs) | |
| getCrns | back to summary |
|---|---|
| public CRNRecord[] getCrns() | |
| Modifier and Type | Field and Description |
|---|---|
| private final LinkTable. | |
| private final SupBookRecord | |
| private ExternalNameRecord[] |
| Access | Constructor and Description |
|---|---|
| public | |
| public | |
| public | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| public int | |
| public SupBookRecord | |
| public int | |
| public int | |
| public String | |
| public int |
| _crnBlocks | back to summary |
|---|---|
| private final LinkTable. | |
| _externalBookRecord | back to summary |
|---|---|
| private final SupBookRecord _externalBookRecord | |
| _externalNameRecords | back to summary |
|---|---|
| private ExternalNameRecord[] _externalNameRecords | |
| ExternalBookBlock | back to summary |
|---|---|
| public ExternalBookBlock(RecordStream rs) | |
| ExternalBookBlock | back to summary |
|---|---|
| public ExternalBookBlock(String url, String[] sheetNames) Create a new block for external references. | |
| ExternalBookBlock | back to summary |
|---|---|
| public ExternalBookBlock(int numberOfSheets) Create a new block for internal references. It is called when constructing a new LinkTable. | |
| ExternalBookBlock | back to summary |
|---|---|
| public ExternalBookBlock() Create a new block for registering add-in functions | |
| addExternalName | back to summary |
|---|---|
| public int addExternalName(ExternalNameRecord rec) | |
| getExternalBookRecord | back to summary |
|---|---|
| public SupBookRecord getExternalBookRecord() | |
| getIndexOfName | back to summary |
|---|---|
| public int getIndexOfName(String name) Performs case-insensitive search
| |
| getNameIx | back to summary |
|---|---|
| public int getNameIx(int definedNameIndex) | |
| getNameText | back to summary |
|---|---|
| public String getNameText(int definedNameIndex) | |
| getNumberOfNames | back to summary |
|---|---|
| public int getNumberOfNames() | |