/// <summary> /// returns the extern name if an valid ID is given! /// </summary> /// <param name="supIndex"></param> /// <param name="nameIndex"></param> /// <returns></returns> public string getExternNameByRef(ushort supIndex, uint nameIndex) { var extSheet = this.externSheetDataList[supIndex]; SupBookData supData = null; var listenum = this.supBookDataList.GetEnumerator(); string back = ""; int count = 0; int counttwo = 0; listenum.MoveNext(); do { if (count == extSheet.iSUPBOOK) { supData = listenum.Current; } count++; }while (listenum.MoveNext()); var nameEnum = supData.ExternNames.GetEnumerator(); do { if (counttwo == nameIndex) { back = nameEnum.Current; } counttwo++; } while (nameEnum.MoveNext()); return("[" + (supData.Number) + "]!" + back); }
/// <summary> /// Add a SUPBOOK BIFF Record to the list /// </summary> /// <param name="sup"></param> public void addSupBookData(SupBook sup) { var supbook = new SupBookData(sup); if (!supbook.SelfRef) { this.refWorkBookNumber++; supbook.Number = this.refWorkBookNumber; } this.supBookDataList.AddLast(supbook); }
/// <summary> /// Returns the string from an external workbook /// </summary> /// <param name="index">index from the workbook </param> /// <returns>Filename and sheetname </returns> public string getIXTIString(ushort index) { var extSheet = this.externSheetDataList[index]; SupBookData supData = null; var listenum = this.supBookDataList.GetEnumerator(); int count = 0; listenum.MoveNext(); do { if (count == extSheet.iSUPBOOK) { supData = listenum.Current; } count++; }while (listenum.MoveNext()); string back = ""; if (supData != null && supData.SelfRef) { string first = this.boundSheetDataList[extSheet.itabFirst].boundsheetRecord.stName.Value; string last = this.boundSheetDataList[extSheet.itabLast].boundsheetRecord.stName.Value; if (first.Equals(last)) { back = first; } else { back = first + ":" + last; } } else { string first = supData.getRgstString(extSheet.itabFirst); string last = supData.getRgstString(extSheet.itabLast); if (first.Equals(last)) { back = first; } else { back = first + ":" + last; } // add one to the index back = "[" + supData.Number.ToString() + "]" + back; } return(back); }