public void Apply(SeriesFormatSequence seriesFormatSequence) { // find BRAI record for categories foreach (AiSequence aiSequence in seriesFormatSequence.AiSequences) { if (aiSequence.BRAI.braiId == BRAI.BraiId.SeriesCategory) { BRAI brai = aiSequence.BRAI; // don't create a c:cat node for automatically generated category axis data! if (brai.rt != BRAI.DataSource.Automatic) { // c:cat (or c:xVal for scatter and bubble charts) _writer.WriteStartElement(Dml.Chart.Prefix, this._parentElement, Dml.Chart.Ns); { switch (brai.rt) { case BRAI.DataSource.Literal: // c:strLit _writer.WriteStartElement(Dml.Chart.Prefix, Dml.Chart.ElStrLit, Dml.Chart.Ns); { convertStringPoints(seriesFormatSequence); } _writer.WriteEndElement(); break; case BRAI.DataSource.Reference: // c:strRef _writer.WriteStartElement(Dml.Chart.Prefix, Dml.Chart.ElStrRef, Dml.Chart.Ns); { // c:f string formula = FormulaInfixMapping.mapFormula(brai.formula.formula, this.WorkbookContext); _writer.WriteElementString(Dml.Chart.Prefix, Dml.Chart.ElF, Dml.Chart.Ns, formula); // c:strCache _writer.WriteStartElement(Dml.Chart.Prefix, Dml.Chart.ElStrCache, Dml.Chart.Ns); { convertStringPoints(seriesFormatSequence); } _writer.WriteEndElement(); } _writer.WriteEndElement(); break; } } _writer.WriteEndElement(); // c:cat } break; } } }
public AiSequence(IStreamReader reader) : base(reader) { //AI = BRAI [SeriesText] //BRAI this.BRAI = (BRAI)BiffRecord.ReadRecord(reader); //[SeriesText] if (BiffRecord.GetNextRecordType(reader) == RecordType.SeriesText) { this.SeriesText = (SeriesText)BiffRecord.ReadRecord(reader); } }
/// <summary> /// </summary> public void Apply(SeriesFormatSequence seriesFormatSequence) { // find BRAI record for values foreach (AiSequence aiSequence in seriesFormatSequence.AiSequences) { if (aiSequence.BRAI.braiId == BRAI.BraiId.SeriesValues) { // c:val _writer.WriteStartElement(Dml.Chart.Prefix, this._parentElement, Dml.Chart.Ns); { BRAI brai = aiSequence.BRAI; switch (brai.rt) { case BRAI.DataSource.Literal: // c:numLit _writer.WriteStartElement(Dml.Chart.Prefix, Dml.Chart.ElNumLit, Dml.Chart.Ns); convertNumData(seriesFormatSequence); _writer.WriteEndElement(); // c:numLit break; case BRAI.DataSource.Reference: // c:numRef _writer.WriteStartElement(Dml.Chart.Prefix, Dml.Chart.ElNumRef, Dml.Chart.Ns); // c:f string formula = FormulaInfixMapping.mapFormula(brai.formula.formula, this.WorkbookContext); _writer.WriteElementString(Dml.Chart.Prefix, Dml.Chart.ElF, Dml.Chart.Ns, formula); // TODO: optional data cache // c:numCache _writer.WriteStartElement(Dml.Chart.Prefix, Dml.Chart.ElNumCache, Dml.Chart.Ns); convertNumData(seriesFormatSequence); _writer.WriteEndElement(); // c:numCache _writer.WriteEndElement(); // c:numRef break; } } _writer.WriteEndElement(); // c:val break; } } }
public void Apply(SeriesFormatSequence seriesFormatSequence) { // EG_SerShared // c:idx // TODO: check the meaning of this element writeValueElement(Dml.Chart.ElIdx, seriesFormatSequence.SerToCrt.id.ToString()); // c:order writeValueElement(Dml.Chart.ElOrder, seriesFormatSequence.order.ToString()); // c:tx // find BRAI record for series name foreach (AiSequence aiSequence in seriesFormatSequence.AiSequences) { if (aiSequence.BRAI.braiId == BRAI.BraiId.SeriesNameOrLegendText) { BRAI brai = aiSequence.BRAI; if (aiSequence.SeriesText != null) { switch (brai.rt) { case BRAI.DataSource.Literal: // c:tx _writer.WriteStartElement(Dml.Chart.Prefix, Dml.Chart.ElTx, Dml.Chart.Ns); // c:v _writer.WriteElementString(Dml.Chart.Prefix, Dml.Chart.ElV, Dml.Chart.Ns, aiSequence.SeriesText.stText.Value); _writer.WriteEndElement(); // c:tx break; case BRAI.DataSource.Reference: // c:tx _writer.WriteStartElement(Dml.Chart.Prefix, Dml.Chart.ElTx, Dml.Chart.Ns); // c:strRef _writer.WriteStartElement(Dml.Chart.Prefix, Dml.Chart.ElStrRef, Dml.Chart.Ns); { // c:f string formula = FormulaInfixMapping.mapFormula(brai.formula.formula, this.WorkbookContext); _writer.WriteElementString(Dml.Chart.Prefix, Dml.Chart.ElF, Dml.Chart.Ns, formula); // c:strCache //convertStringCache(seriesFormatSequence); } _writer.WriteEndElement(); // c:strRef _writer.WriteEndElement(); // c:tx break; } } break; } } if (seriesFormatSequence.SsSequence.Count > 0) { seriesFormatSequence.SsSequence[0].Convert(new ShapePropertiesMapping(this.WorkbookContext, this.ChartContext)); } }