public LinkTable(int numberOfSheets, WorkbookRecordList workbookRecordList) { _workbookRecordList = workbookRecordList; _definedNames = new List <NameRecord>(); _externalBookBlocks = new ExternalBookBlock[] { new ExternalBookBlock(numberOfSheets), }; _externSheetRecord = new ExternSheetRecord(); _recordCount = 2; // tell _workbookRecordList about the 2 new records SupBookRecord supbook = _externalBookBlocks[0].GetExternalBookRecord(); int idx = FindFirstRecordLocBySid(CountryRecord.sid); if (idx < 0) { throw new Exception("CountryRecord not found"); } _workbookRecordList.Add(idx + 1, _externSheetRecord); _workbookRecordList.Add(idx + 1, supbook); }
private WorkbookRecordList _workbookRecordList; // TODO - would be nice to Remove this public LinkTable(List <Record> inputList, int startIndex, WorkbookRecordList workbookRecordList, Dictionary <String, NameCommentRecord> commentRecords) { _workbookRecordList = workbookRecordList; RecordStream rs = new RecordStream(inputList, startIndex); ArrayList temp = new ArrayList(); while (rs.PeekNextClass() == typeof(SupBookRecord)) { temp.Add(new ExternalBookBlock(rs)); } //_externalBookBlocks = new ExternalBookBlock[temp.Count]; _externalBookBlocks = (ExternalBookBlock[])temp.ToArray(typeof(ExternalBookBlock)); temp.Clear(); if (_externalBookBlocks.Length > 0) { // If any ExternalBookBlock present, there is always 1 of ExternSheetRecord if (rs.PeekNextClass() != typeof(ExternSheetRecord)) { // not quite - if written by google docs _externSheetRecord = null; } else { _externSheetRecord = ReadExtSheetRecord(rs); } } else { _externSheetRecord = null; } _definedNames = new List <NameRecord>(); // collect zero or more DEFINEDNAMEs id=0x18 while (true) { Type nextClass = rs.PeekNextClass(); if (nextClass == typeof(NameRecord)) { NameRecord nr = (NameRecord)rs.GetNext(); _definedNames.Add(nr); } else if (nextClass == typeof(NameCommentRecord)) { NameCommentRecord ncr = (NameCommentRecord)rs.GetNext(); commentRecords.Add(ncr.NameText, ncr); } else { break; } } _recordCount = rs.GetCountRead(); for (int i = startIndex; i < startIndex + _recordCount; i++) { _workbookRecordList.Records.Add(inputList[i]); } }
private WorkbookRecordList _workbookRecordList; // TODO - would be nice to Remove this public LinkTable(List<Record> inputList, int startIndex, WorkbookRecordList workbookRecordList, Dictionary<String, NameCommentRecord> commentRecords) { _workbookRecordList = workbookRecordList; RecordStream rs = new RecordStream(inputList, startIndex); ArrayList temp = new ArrayList(); while (rs.PeekNextClass() == typeof(SupBookRecord)) { temp.Add(new ExternalBookBlock(rs)); } //_externalBookBlocks = new ExternalBookBlock[temp.Count]; _externalBookBlocks = (ExternalBookBlock[])temp.ToArray(typeof(ExternalBookBlock)); temp.Clear(); if (_externalBookBlocks.Length > 0) { // If any ExternalBookBlock present, there is always 1 of ExternSheetRecord if (rs.PeekNextClass() != typeof(ExternSheetRecord)) { // not quite - if written by google docs _externSheetRecord = null; } else { _externSheetRecord = ReadExtSheetRecord(rs); } } else { _externSheetRecord = null; } _definedNames = new List<NameRecord>(); // collect zero or more DEFINEDNAMEs id=0x18 while (true) { Type nextClass = rs.PeekNextClass(); if (nextClass == typeof(NameRecord)) { NameRecord nr = (NameRecord)rs.GetNext(); _definedNames.Add(nr); } else if (nextClass == typeof(NameCommentRecord)) { NameCommentRecord ncr = (NameCommentRecord)rs.GetNext(); commentRecords.Add(ncr.NameText, ncr); } else { break; } } _recordCount = rs.GetCountRead(); for (int i = startIndex; i < startIndex + _recordCount; i++) { _workbookRecordList.Records.Add(inputList[i]); } }
public LinkTable(int numberOfSheets, WorkbookRecordList workbookRecordList) { _workbookRecordList = workbookRecordList; _definedNames = new List<NameRecord>(); _externalBookBlocks = new ExternalBookBlock[] { new ExternalBookBlock(numberOfSheets), }; _externSheetRecord = new ExternSheetRecord(); _recordCount = 2; // tell _workbookRecordList about the 2 new records SupBookRecord supbook = _externalBookBlocks[0].GetExternalBookRecord(); int idx = FindFirstRecordLocBySid(CountryRecord.sid); if (idx < 0) { throw new Exception("CountryRecord not found"); } _workbookRecordList.Add(idx + 1, _externSheetRecord); _workbookRecordList.Add(idx + 1, supbook); }
//private static POILogger log = POILogFactory.GetLogger(typeof(Workbook)); /** * Creates new Workbook with no intitialization --useless right now * @see #CreateWorkbook(List) */ public InternalWorkbook() { records = new WorkbookRecordList(); boundsheets = new List<BoundSheetRecord>(); formats = new List<FormatRecord>(); hyperlinks = new List<HyperlinkRecord>(); numxfs = 0; numfonts = 0; maxformatid = -1; uses1904datewindowing = false; escherBSERecords = new List<EscherBSERecord>(); commentRecords = new Dictionary<String, NameCommentRecord>(); }