internal void LoadXlsx(TOpenXmlReader DataStream) { AutoPage = DataStream.GetAttributeAsBool("autoPage", false); if (DataStream.IsSimpleTag) { DataStream.NextTag(); return; } string StartElement = DataStream.RecordName(); if (!DataStream.NextTag()) { return; } while (!DataStream.AtEndElement(StartElement)) { switch (DataStream.RecordName()) { case "pages": Pages = DataStream.GetXml(); break; case "rangeSets": ReadRangeSets(DataStream); break; default: DataStream.GetXml(); //Shouldn't happen. break; } } }
private static Dictionary <string, TShapeGeom> ReadShapes() { Dictionary <string, TShapeGeom> Result = new Dictionary <string, TShapeGeom>(); using (Stream PresetStream = GetPresetStream()) { using (TOpenXmlReader DataStream = TOpenXmlReader.CreateFromSimpleStream(PresetStream)) { DataStream.DefaultNamespace = ""; DataStream.NextTag(); Debug.Assert(DataStream.RecordName() == "presetShapeDefinitons", DataStream.RecordName()); string StartElement = DataStream.RecordName(); if (!DataStream.NextTag()) { FlxMessages.ThrowException(FlxErr.ErrInternal); } TXlsxShapeReader ShapeReader = new TXlsxShapeReader(DataStream); while (!DataStream.AtEndElement(StartElement)) { Result[DataStream.RecordName()] = ShapeReader.ReadShapeDef(DataStream.RecordName()); } } } return(Result); }
private void ReadRangeSets(TOpenXmlReader DataStream) { if (DataStream.IsSimpleTag) { DataStream.NextTag(); return; } string StartElement = DataStream.RecordName(); if (!DataStream.NextTag()) { return; } while (!DataStream.AtEndElement(StartElement)) { switch (DataStream.RecordName()) { case "rangeSet": RangeSets.Add(TRangeSet.LoadFromXlsx(DataStream)); break; default: DataStream.GetXml(); //Shouldn't happen. break; } } }
internal void Load(TOpenXmlReader DataStream) { TXlsxPivotCache Pivot = TXlsxPivotCache.Load(DataStream); List.Add(Pivot); FCacheIdsOnDisk[Pivot.CacheId] = Pivot; }
internal static TXlsxPivotCache Load(TOpenXmlReader DataStream) { TXlsxPivotCache Result = new TXlsxPivotCache(); Result.FCacheId = DataStream.GetAttributeAsLong("cacheId", -1); Result.ReadPivotCache(DataStream, DataStream.GetRelationship("id")); DataStream.FinishTagAndIgnoreChildren(); return(Result); }
internal void ReadPivotTable(TOpenXmlReader DataStream, TXlsxPivotCacheList PivotCacheList) { /* Fields that need updating: * location * filter */ LoadAtts(DataStream, false); long cid = DataStream.GetAttributeAsLong("cacheId", -1); if (cid >= 0) { FCache = PivotCacheList.FindCacheFromDisk(cid); } if (DataStream.IsSimpleTag) { DataStream.NextTag(); return; } string StartElement = DataStream.RecordName(); if (!DataStream.NextTag()) { return; } while (!DataStream.AtEndElement(StartElement)) { switch (DataStream.RecordName()) { case "location": ReadLocation(DataStream); break; case "pivotFields": case "rowFields": case "rowItems": case "colFields": case "colItems": case "pageFields": case "dataFields": case "formats": case "conditionalFormats": case "chartFormats": case "pivotHierarchies": case "pivotTableStyleInfo": case "filters": case "rowHierarchiesUsage": case "colHierarchiesUsage": case "extLst": default: FRecords.Add(new TXlsxPivotTableRecord(DataStream.GetXml())); break; } } }
internal static TXlsxPivotTableRecord Load(TOpenXmlReader DataStream) { TXlsxPivotLocationRecord Result = new TXlsxPivotLocationRecord(); Result.Refe = DataStream.GetAttributeAsRange("ref", true); Result.firstHeaderRow = DataStream.GetAttributeAsInt("firstHeaderRow", 0); Result.firstDataRow = DataStream.GetAttributeAsInt("firstDataRow", 0); Result.firstDataCol = DataStream.GetAttributeAsInt("firstDataCol", 0); Result.rowPageCount = DataStream.GetAttributeAsInt("rowPageCount", 0); Result.colPageCount = DataStream.GetAttributeAsInt("colPageCount", 0); DataStream.FinishTag(); return(Result); }
internal static TRangeSet LoadFromXlsx(TOpenXmlReader DataStream) { TRangeSet Result = new TRangeSet(); for (int i = 0; i < Result.ix.Length; i++) { Result.ix[i] = DataStream.GetAttributeAsInt("i" + (i + 1).ToString(CultureInfo.InvariantCulture), -1); } Result.Source = new TWorksheetSource(); Result.Source.LoadAttsFromXlsx(DataStream); DataStream.FinishTag(); return(Result); }
private void ReadPivotCacheDefinition(TOpenXmlReader DataStream) { LoadAtts(DataStream, true); /* Fields that need updating: * cacheFields->formula * cacheSource.consolidation.rangeSets.rangeSet->ref * cacheSource.worksheetSource->ref * calculatedItems doesn't need it because formulas don't have cell refs. */ if (DataStream.IsSimpleTag) { DataStream.NextTag(); return; } string StartElement = DataStream.RecordName(); if (!DataStream.NextTag()) { return; } while (!DataStream.AtEndElement(StartElement)) { switch (DataStream.RecordName()) { case "cacheSource": ReadCacheSource(DataStream); break; case "cacheFields": //break; case "cacheHierarchies": case "kpis": case "tupleCache": case "calculatedItems": case "calculatedMembers": case "dimensions": case "measureGroups": case "maps": case "extLst": default: FRecords.Add(new TXlsxPivotCacheRecord(DataStream.GetXml())); break; } } }
private void ReadCacheSource(TOpenXmlReader DataStream) { string SourceType = DataStream.GetAttribute("type"); if (SourceType == "external") { FRecords.Add(new TXlsxPivotCacheRecord(DataStream.GetXml())); return; } if (DataStream.IsSimpleTag) { DataStream.NextTag(); return; } string StartElement = DataStream.RecordName(); if (!DataStream.NextTag()) { return; } TCacheSourceRecord R = new TCacheSourceRecord(SourceType, DataStream.GetAttributeAsLong("connectionId", -1)); FRecords.Add(R); while (!DataStream.AtEndElement(StartElement)) { switch (DataStream.RecordName()) { case "consolidation": ReadConsolidation(DataStream, R); break; case "worksheetSource": ReadWorksheetSource(DataStream, R); break; case "extLst": default: TFutureStorage.Add(ref R.FutureStorage, new TFutureStorageRecord(DataStream.GetXml())); break; } } }
protected void LoadAtts(TOpenXmlReader DataStream, bool AddInvalid) { List <TXlsxAttribute> TmpAtt = new List <TXlsxAttribute>(); if (AddInvalid) { TmpAtt.Add(new TXlsxAttribute("", "invalid", "true")); //as we won't save id, this is the first one. } TXlsxAttribute[] Atts = DataStream.GetAttributes(); foreach (TXlsxAttribute att in Atts) { if (att.Name != "id" && att.Name != "invalid" && att.Name != "refreshOnLoad" && att.Name != "upgradeOnRefresh") { TmpAtt.Add(att); } } Attributes = TmpAtt.ToArray(); }
internal void ReadPivotCache(TOpenXmlReader DataStream, string relId) { DataStream.SelectFromCurrentPartAndPush(relId, TOpenXmlManager.MainNamespace, false); while (DataStream.NextTag()) { switch (DataStream.RecordName()) { case "pivotCacheDefinition": ReadPivotCacheDefinition(DataStream); break; default: //shouldn't happen DataStream.GetXml(); break; } } DataStream.PopPart(); }
public TXlsxShapeReader(TOpenXmlReader aDataStream) { DataStream = aDataStream; }
internal TXlsxChartReader(TOpenXmlReader aDataStream, ExcelFile axls) { DataStream = aDataStream; xls = axls; }
private void ReadLocation(TOpenXmlReader DataStream) { FRecords.Add(TXlsxPivotLocationRecord.Load(DataStream)); }
internal void LoadAttsFromXlsx(TOpenXmlReader DataStream) { Refe = DataStream.GetAttributeAsRange("ref", true); Name = DataStream.GetAttribute("name"); Sheet = DataStream.GetAttribute("sheet"); }
internal void LoadXlsx(TOpenXmlReader DataStream) { LoadAttsFromXlsx(DataStream); DataStream.FinishTag(); }
private void ReadWorksheetSource(TOpenXmlReader DataStream, TCacheSourceRecord R) { R.WorksheetSource = new TWorksheetSource(); R.WorksheetSource.LoadXlsx(DataStream); }
private void ReadConsolidation(TOpenXmlReader DataStream, TCacheSourceRecord R) { R.Consolidation = new TConsolidation(); R.Consolidation.LoadXlsx(DataStream); }