Beispiel #1
0
        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;
                }
            }
        }
Beispiel #2
0
        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;
                }
            }
        }