private void convertStringPoints(SeriesFormatSequence seriesFormatSequence) { // find series data SeriesDataSequence seriesDataSequence = this.ChartContext.ChartSheetContentSequence.SeriesDataSequence; foreach (SeriesGroup seriesGroup in seriesDataSequence.SeriesGroups) { if (seriesGroup.SIIndex.numIndex == SIIndex.SeriesDataType.CategoryLabels) { AbstractCellContent[,] dataMatrix = seriesDataSequence.DataMatrix[(UInt16)seriesGroup.SIIndex.numIndex - 1]; // TODO: c:formatCode UInt32 ptCount = 0; for (UInt32 i = 0; i < dataMatrix.GetLength(1); i++) { if (dataMatrix[seriesFormatSequence.order, i] != null) { ptCount++; } } // c:ptCount writeValueElement(Dml.Chart.ElPtCount, ptCount.ToString()); UInt32 idx = 0; for (UInt32 i = 0; i < dataMatrix.GetLength(1); i++) { AbstractCellContent cellContent = dataMatrix[seriesFormatSequence.order, i]; if (cellContent != null) { if (cellContent is Label) { Label lblInCell = (Label)cellContent; // c:pt _writer.WriteStartElement(Dml.Chart.Prefix, Dml.Chart.ElPt, Dml.Chart.Ns); _writer.WriteAttributeString(Dml.Chart.AttrIdx, idx.ToString()); // c:v _writer.WriteElementString(Dml.Chart.Prefix, Dml.Chart.ElV, Dml.Chart.Ns, lblInCell.st.Value); _writer.WriteEndElement(); // c:pt } } idx++; } break; } } }
private void convertNumData(SeriesFormatSequence seriesFormatSequence) { // find series data SeriesDataSequence seriesDataSequence = this.ChartContext.ChartSheetContentSequence.SeriesDataSequence; if (seriesDataSequence == null) { return; } foreach (SeriesGroup seriesGroup in seriesDataSequence.SeriesGroups) { if (seriesGroup.SIIndex.numIndex == SIIndex.SeriesDataType.SeriesValues) { AbstractCellContent[,] dataMatrix = seriesDataSequence.DataMatrix[(UInt16)seriesGroup.SIIndex.numIndex - 1]; // TODO: c:formatCode UInt32 ptCount = 0; for (UInt32 i = 0; i < dataMatrix.GetLength(1); i++) { if (dataMatrix[seriesFormatSequence.order, i] != null) { ptCount++; } } // c:ptCount writeValueElement(Dml.Chart.ElPtCount, ptCount.ToString()); UInt32 idx = 0; for (UInt32 i = 0; i < dataMatrix.GetLength(1); i++) { Number cellContent = dataMatrix[seriesFormatSequence.order, i] as Number; if (cellContent != null && cellContent.num != null) { // c:pt _writer.WriteStartElement(Dml.Chart.Prefix, Dml.Chart.ElPt, Dml.Chart.Ns); _writer.WriteAttributeString(Dml.Chart.AttrIdx, idx.ToString()); // c:v double num = cellContent.num ?? 0.0; _writer.WriteElementString(Dml.Chart.Prefix, Dml.Chart.ElV, Dml.Chart.Ns, num.ToString(CultureInfo.InvariantCulture)); _writer.WriteEndElement(); // c:pt } idx++; } break; } } }