Example #1
0
        public static void majLineChart(ChartPart cc, List <string> formules)
        {
            var bc = (OpenXmlElement)null;

            if (cc.ChartSpace.Descendants().OfType <Chart.LineChart>().Count() != 0)
            {
                bc = cc.ChartSpace.Descendants <Chart.LineChart>().First();
            }
            else
            {
                bc = cc.ChartSpace.Descendants <Chart.Line3DChart>().First();
            }

            for (int j = 0; j < (formules.Count - 1) / 2; j++)
            {
                Chart.LineChartSeries newSerie = (Chart.LineChartSeries)bc.Elements <Chart.LineChartSeries>().First().CloneNode(true);

                newSerie.SeriesText.StringReference.Formula.Text = formules[2 * j + 1];
                newSerie.Index.Val = (uint)j;
                newSerie.Order.Val = (uint)j;
                newSerie.Descendants <Chart.CategoryAxisData>().First().NumberReference.Formula.Text = formules[0];
                newSerie.Descendants <Chart.Values>().First().NumberReference.Formula.Text           = formules[2 * j + 2];

                bc.Append(newSerie);
            }
            bc.Elements <Chart.LineChartSeries>().First().Remove();
        }
        internal C.LineChartSeries ToLineChartSeries(bool IsStylish = false)
        {
            C.LineChartSeries lcs = new C.LineChartSeries();
            lcs.Index = new C.Index() { Val = this.Index };
            lcs.Order = new C.Order() { Val = this.Order };

            if (this.IsStringReference != null)
            {
                lcs.SeriesText = new C.SeriesText();
                if (this.IsStringReference.Value)
                {
                    lcs.SeriesText.StringReference = this.StringReference.ToStringReference();
                }
                else
                {
                    lcs.SeriesText.NumericValue = new C.NumericValue(this.NumericValue);
                }
            }

            if (this.Options.ShapeProperties.HasShapeProperties)
            {
                lcs.ChartShapeProperties = this.Options.ShapeProperties.ToChartShapeProperties(IsStylish);
            }

            if (this.Options.Marker.HasMarker)
            {
                lcs.Marker = this.Options.Marker.ToMarker(IsStylish);
            }

            if (this.DataPointOptionsList.Count > 0)
            {
                List<int> indexlist = this.DataPointOptionsList.Keys.ToList<int>();
                indexlist.Sort();
                int index;
                for (int i = 0; i < indexlist.Count; ++i)
                {
                    index = indexlist[i];
                    lcs.Append(this.DataPointOptionsList[index].ToDataPoint(index, IsStylish));
                }
            }

            if (this.GroupDataLabelOptions != null || this.DataLabelOptionsList.Count > 0)
            {
                if (this.GroupDataLabelOptions == null)
                {
                    SLGroupDataLabelOptions gdloptions = new SLGroupDataLabelOptions(new List<System.Drawing.Color>());
                    lcs.Append(gdloptions.ToDataLabels(this.DataLabelOptionsList, true));
                }
                else
                {
                    lcs.Append(this.GroupDataLabelOptions.ToDataLabels(this.DataLabelOptionsList, false));
                }
            }

            lcs.Append(this.AxisData.ToCategoryAxisData());
            lcs.Append(this.NumberData.ToValues());

            lcs.Append(new C.Smooth() { Val = this.Options.Smooth });

            return lcs;
        }
Example #3
0
        internal C.LineChartSeries ToLineChartSeries(bool IsStylish = false)
        {
            C.LineChartSeries lcs = new C.LineChartSeries();
            lcs.Index = new C.Index()
            {
                Val = this.Index
            };
            lcs.Order = new C.Order()
            {
                Val = this.Order
            };

            if (this.IsStringReference != null)
            {
                lcs.SeriesText = new C.SeriesText();
                if (this.IsStringReference.Value)
                {
                    lcs.SeriesText.StringReference = this.StringReference.ToStringReference();
                }
                else
                {
                    lcs.SeriesText.NumericValue = new C.NumericValue(this.NumericValue);
                }
            }

            if (this.Options.ShapeProperties.HasShapeProperties)
            {
                lcs.ChartShapeProperties = this.Options.ShapeProperties.ToChartShapeProperties(IsStylish);
            }

            if (this.Options.Marker.HasMarker)
            {
                lcs.Marker = this.Options.Marker.ToMarker(IsStylish);
            }

            if (this.DataPointOptionsList.Count > 0)
            {
                List <int> indexlist = this.DataPointOptionsList.Keys.ToList <int>();
                indexlist.Sort();
                int index;
                for (int i = 0; i < indexlist.Count; ++i)
                {
                    index = indexlist[i];
                    lcs.Append(this.DataPointOptionsList[index].ToDataPoint(index, IsStylish));
                }
            }

            if (this.GroupDataLabelOptions != null || this.DataLabelOptionsList.Count > 0)
            {
                if (this.GroupDataLabelOptions == null)
                {
                    SLGroupDataLabelOptions gdloptions = new SLGroupDataLabelOptions(new List <System.Drawing.Color>());
                    lcs.Append(gdloptions.ToDataLabels(this.DataLabelOptionsList, true));
                }
                else
                {
                    lcs.Append(this.GroupDataLabelOptions.ToDataLabels(this.DataLabelOptionsList, false));
                }
            }

            lcs.Append(this.AxisData.ToCategoryAxisData());
            lcs.Append(this.NumberData.ToValues());

            lcs.Append(new C.Smooth()
            {
                Val = this.Options.Smooth
            });

            return(lcs);
        }
Example #4
0
        private static void GenerateChartPartContentLine(ChartPart part, string formulaCat, string formulaVal, string title)
        {
            C.ChartSpace chartSpace1 = new C.ChartSpace();
            chartSpace1.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace1.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            chartSpace1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
            chartSpace1.AddNamespaceDeclaration("mv", "urn:schemas-microsoft-com:mac:vml");
            chartSpace1.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C.Chart chart1 = new C.Chart();

            C.Title title1 = new C.Title();

            C.ChartText chartText1 = new C.ChartText();

            C.RichText       richText1       = new C.RichText();
            A.BodyProperties bodyProperties3 = new A.BodyProperties();
            A.ListStyle      listStyle3      = new A.ListStyle();

            A.Paragraph paragraph3 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties3 = new A.ParagraphProperties()
            {
                Level = 0
            };
            A.DefaultRunProperties defaultRunProperties3 = new A.DefaultRunProperties()
            {
                Bold = false
            };

            paragraphProperties3.Append(defaultRunProperties3);

            A.Run  run1  = new A.Run();
            A.Text text1 = new A.Text();
            text1.Text = title;

            run1.Append(text1);

            paragraph3.Append(paragraphProperties3);
            paragraph3.Append(run1);

            richText1.Append(bodyProperties3);
            richText1.Append(listStyle3);
            richText1.Append(paragraph3);

            chartText1.Append(richText1);
            C.Overlay overlay1 = new C.Overlay()
            {
                Val = false
            };

            title1.Append(chartText1);
            title1.Append(overlay1);

            C.PlotArea plotArea1 = new C.PlotArea();
            C.Layout   layout1   = new C.Layout();

            C.LineChart  lineChart1  = new C.LineChart();
            C.VaryColors varyColors1 = new C.VaryColors()
            {
                Val = false
            };


            C.LineChartSeries lineChartSeries1 = new C.LineChartSeries();
            C.Index           index1           = new C.Index()
            {
                Val = (UInt32Value)0U
            };
            C.Order order1 = new C.Order()
            {
                Val = (UInt32Value)0U
            };


            C.ChartShapeProperties chartShapeProperties1 = new C.ChartShapeProperties();

            A.Outline outline1 = new A.Outline()
            {
                Width = 19050, CompoundLineType = A.CompoundLineValues.Single
            };

            A.SolidFill        solidFill1        = new A.SolidFill();
            A.RgbColorModelHex rgbColorModelHex1 = new A.RgbColorModelHex()
            {
                Val = "3366CC"
            };

            solidFill1.Append(rgbColorModelHex1);

            outline1.Append(solidFill1);

            chartShapeProperties1.Append(outline1);

            C.Marker marker1 = new C.Marker();
            C.Symbol symbol1 = new C.Symbol()
            {
                Val = C.MarkerStyleValues.None
            };

            marker1.Append(symbol1);

            C.CategoryAxisData categoryAxisData1 = new C.CategoryAxisData();

            C.StringReference stringReference1 = new C.StringReference();
            C.Formula         formula1         = new C.Formula();
            formula1.Text = formulaCat;

            stringReference1.Append(formula1);

            categoryAxisData1.Append(stringReference1);

            C.Values values1 = new C.Values();

            C.NumberReference numberReference1 = new C.NumberReference();
            C.Formula         formula2         = new C.Formula();
            formula2.Text = formulaVal;

            numberReference1.Append(formula2);

            values1.Append(numberReference1);
            C.Smooth smooth1 = new C.Smooth()
            {
                Val = false
            };

            lineChartSeries1.Append(index1);
            lineChartSeries1.Append(order1);
            lineChartSeries1.Append(chartShapeProperties1);
            lineChartSeries1.Append(marker1);
            lineChartSeries1.Append(categoryAxisData1);
            lineChartSeries1.Append(values1);
            lineChartSeries1.Append(smooth1);
            C.AxisId axisId1 = new C.AxisId()
            {
                Val = (UInt32Value)1923141117U
            };
            C.AxisId axisId2 = new C.AxisId()
            {
                Val = (UInt32Value)2022561148U
            };

            lineChart1.Append(varyColors1);
            lineChart1.Append(lineChartSeries1);
            lineChart1.Append(axisId1);
            lineChart1.Append(axisId2);

            C.CategoryAxis categoryAxis1 = new C.CategoryAxis();
            C.AxisId       axisId3       = new C.AxisId()
            {
                Val = (UInt32Value)1923141117U
            };


            C.Scaling     scaling1     = new C.Scaling();
            C.Orientation orientation1 = new C.Orientation()
            {
                Val = C.OrientationValues.MinMax
            };

            scaling1.Append(orientation1);
            C.Delete delete1 = new C.Delete()
            {
                Val = false
            };
            C.AxisPosition axisPosition1 = new C.AxisPosition()
            {
                Val = C.AxisPositionValues.Bottom
            };

            C.TextProperties textProperties1 = new C.TextProperties();
            A.BodyProperties bodyProperties1 = new A.BodyProperties();
            A.ListStyle      listStyle1      = new A.ListStyle();

            A.Paragraph paragraph1 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties1 = new A.ParagraphProperties()
            {
                Level = 0
            };
            A.DefaultRunProperties defaultRunProperties1 = new A.DefaultRunProperties()
            {
                Bold = false
            };

            paragraphProperties1.Append(defaultRunProperties1);

            paragraph1.Append(paragraphProperties1);

            textProperties1.Append(bodyProperties1);
            textProperties1.Append(listStyle1);
            textProperties1.Append(paragraph1);
            C.CrossingAxis crossingAxis1 = new C.CrossingAxis()
            {
                Val = (UInt32Value)2022561148U
            };

            categoryAxis1.Append(axisId3);
            categoryAxis1.Append(scaling1);
            categoryAxis1.Append(delete1);
            categoryAxis1.Append(axisPosition1);
            categoryAxis1.Append(textProperties1);
            categoryAxis1.Append(crossingAxis1);


            C.ValueAxis valueAxis1 = new C.ValueAxis();
            C.AxisId    axisId4    = new C.AxisId()
            {
                Val = (UInt32Value)2022561148U
            };

            C.Scaling     scaling2     = new C.Scaling();
            C.Orientation orientation2 = new C.Orientation()
            {
                Val = C.OrientationValues.MinMax
            };

            scaling2.Append(orientation2);
            C.Delete delete2 = new C.Delete()
            {
                Val = false
            };
            C.AxisPosition axisPosition2 = new C.AxisPosition()
            {
                Val = C.AxisPositionValues.Left
            };

            C.MajorGridlines majorGridlines1 = new C.MajorGridlines();

            C.ChartShapeProperties chartShapeProperties2 = new C.ChartShapeProperties();

            A.Outline outline2 = new A.Outline();

            A.SolidFill        solidFill2        = new A.SolidFill();
            A.RgbColorModelHex rgbColorModelHex2 = new A.RgbColorModelHex()
            {
                Val = "B7B7B7"
            };

            solidFill2.Append(rgbColorModelHex2);

            outline2.Append(solidFill2);

            chartShapeProperties2.Append(outline2);

            majorGridlines1.Append(chartShapeProperties2);
            C.NumberingFormat numberingFormat1 = new C.NumberingFormat()
            {
                FormatCode = "General", SourceLinked = true
            };
            C.TickLabelPosition tickLabelPosition1 = new C.TickLabelPosition()
            {
                Val = C.TickLabelPositionValues.NextTo
            };

            C.ChartShapeProperties chartShapeProperties3 = new C.ChartShapeProperties();

            A.Outline outline3 = new A.Outline()
            {
                Width = 47625
            };
            A.NoFill noFill1 = new A.NoFill();

            outline3.Append(noFill1);

            chartShapeProperties3.Append(outline3);

            C.TextProperties textProperties2 = new C.TextProperties();
            A.BodyProperties bodyProperties2 = new A.BodyProperties();
            A.ListStyle      listStyle2      = new A.ListStyle();

            A.Paragraph paragraph2 = new A.Paragraph();

            A.ParagraphProperties paragraphProperties2 = new A.ParagraphProperties()
            {
                Level = 0
            };
            A.DefaultRunProperties defaultRunProperties2 = new A.DefaultRunProperties()
            {
                Bold = false
            };

            paragraphProperties2.Append(defaultRunProperties2);

            paragraph2.Append(paragraphProperties2);

            textProperties2.Append(bodyProperties2);
            textProperties2.Append(listStyle2);
            textProperties2.Append(paragraph2);
            C.CrossingAxis crossingAxis2 = new C.CrossingAxis()
            {
                Val = (UInt32Value)1923141117U
            };

            valueAxis1.Append(axisId4);
            valueAxis1.Append(scaling2);
            valueAxis1.Append(delete2);
            valueAxis1.Append(axisPosition2);
            valueAxis1.Append(majorGridlines1);
            valueAxis1.Append(numberingFormat1);
            valueAxis1.Append(tickLabelPosition1);
            valueAxis1.Append(chartShapeProperties3);
            valueAxis1.Append(textProperties2);
            valueAxis1.Append(crossingAxis2);

            plotArea1.Append(layout1);
            plotArea1.Append(lineChart1);
            plotArea1.Append(categoryAxis1);
            plotArea1.Append(valueAxis1);

            C.Legend         legend1         = new C.Legend();
            C.LegendPosition legendPosition1 = new C.LegendPosition()
            {
                Val = C.LegendPositionValues.Right
            };
            C.Overlay overlay2 = new C.Overlay()
            {
                Val = false
            };

            legend1.Append(legendPosition1);
            legend1.Append(overlay2);
            C.PlotVisibleOnly plotVisibleOnly1 = new C.PlotVisibleOnly()
            {
                Val = true
            };

            chart1.Append(title1);
            chart1.Append(plotArea1);
            chart1.Append(legend1);
            chart1.Append(plotVisibleOnly1);

            chartSpace1.Append(chart1);

            part.ChartSpace = chartSpace1;
        }
        // Generates content of chartPart1.
        private void GenerateChartPart1Content(ChartPart chartPart1)
        {
            C.ChartSpace chartSpace1 = new C.ChartSpace();
            chartSpace1.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace1.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19041 = new C.Date1904() { Val = false };
            C.EditingLanguage editingLanguage1 = new C.EditingLanguage() { Val = "en-US" };
            C.RoundedCorners roundedCorners1 = new C.RoundedCorners() { Val = false };

            AlternateContent alternateContent1 = new AlternateContent();
            alternateContent1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            AlternateContentChoice alternateContentChoice1 = new AlternateContentChoice() { Requires = "c14" };
            alternateContentChoice1.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            C14.Style style1 = new C14.Style() { Val = 102 };

            alternateContentChoice1.Append(style1);

            AlternateContentFallback alternateContentFallback1 = new AlternateContentFallback();
            C.Style style2 = new C.Style() { Val = 2 };

            alternateContentFallback1.Append(style2);

            alternateContent1.Append(alternateContentChoice1);
            alternateContent1.Append(alternateContentFallback1);

            C.Chart chart1 = new C.Chart();
            C.AutoTitleDeleted autoTitleDeleted1 = new C.AutoTitleDeleted() { Val = true };

            C.PlotArea plotArea1 = new C.PlotArea();
            C.Layout layout1 = new C.Layout();

            C.LineChart lineChart1 = new C.LineChart();
            C.Grouping grouping1 = new C.Grouping() { Val = C.GroupingValues.Standard };
            C.VaryColors varyColors1 = new C.VaryColors() { Val = false };

            C.LineChartSeries lineChartSeries1 = new C.LineChartSeries();
            C.Index index1 = new C.Index() { Val = (UInt32Value)0U };
            C.Order order1 = new C.Order() { Val = (UInt32Value)0U };

            C.SeriesText seriesText1 = new C.SeriesText();

            C.StringReference stringReference1 = new C.StringReference();
            C.Formula formula1 = new C.Formula();
            formula1.Text = "Sheet1!$B$1";

            C.StringCache stringCache1 = new C.StringCache();
            C.PointCount pointCount1 = new C.PointCount() { Val = (UInt32Value)1U };

            C.StringPoint stringPoint1 = new C.StringPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue1 = new C.NumericValue();
            numericValue1.Text = "Series 1";

            stringPoint1.Append(numericValue1);

            stringCache1.Append(pointCount1);
            stringCache1.Append(stringPoint1);

            stringReference1.Append(formula1);
            stringReference1.Append(stringCache1);

            seriesText1.Append(stringReference1);

            C.Marker marker1 = new C.Marker();
            C.Symbol symbol1 = new C.Symbol() { Val = C.MarkerStyleValues.None };

            marker1.Append(symbol1);

            C.CategoryAxisData categoryAxisData1 = new C.CategoryAxisData();

            C.StringReference stringReference2 = new C.StringReference();
            C.Formula formula2 = new C.Formula();
            formula2.Text = "Sheet1!$A$2:$A$5";

            C.StringCache stringCache2 = new C.StringCache();
            C.PointCount pointCount2 = new C.PointCount() { Val = (UInt32Value)4U };

            C.StringPoint stringPoint2 = new C.StringPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue2 = new C.NumericValue();
            numericValue2.Text = "Category 1";

            stringPoint2.Append(numericValue2);

            C.StringPoint stringPoint3 = new C.StringPoint() { Index = (UInt32Value)1U };
            C.NumericValue numericValue3 = new C.NumericValue();
            numericValue3.Text = "Category 2";

            stringPoint3.Append(numericValue3);

            C.StringPoint stringPoint4 = new C.StringPoint() { Index = (UInt32Value)2U };
            C.NumericValue numericValue4 = new C.NumericValue();
            numericValue4.Text = "Category 3";

            stringPoint4.Append(numericValue4);

            C.StringPoint stringPoint5 = new C.StringPoint() { Index = (UInt32Value)3U };
            C.NumericValue numericValue5 = new C.NumericValue();
            numericValue5.Text = "Category 4";

            stringPoint5.Append(numericValue5);

            stringCache2.Append(pointCount2);
            stringCache2.Append(stringPoint2);
            stringCache2.Append(stringPoint3);
            stringCache2.Append(stringPoint4);
            stringCache2.Append(stringPoint5);

            stringReference2.Append(formula2);
            stringReference2.Append(stringCache2);

            categoryAxisData1.Append(stringReference2);

            C.Values values1 = new C.Values();

            C.NumberReference numberReference1 = new C.NumberReference();
            C.Formula formula3 = new C.Formula();
            formula3.Text = "Sheet1!$B$2:$B$5";

            C.NumberingCache numberingCache1 = new C.NumberingCache();
            C.FormatCode formatCode1 = new C.FormatCode();
            formatCode1.Text = "General";
            C.PointCount pointCount3 = new C.PointCount() { Val = (UInt32Value)4U };

            C.NumericPoint numericPoint1 = new C.NumericPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue6 = new C.NumericValue();
            numericValue6.Text = "4.3";

            numericPoint1.Append(numericValue6);

            C.NumericPoint numericPoint2 = new C.NumericPoint() { Index = (UInt32Value)1U };
            C.NumericValue numericValue7 = new C.NumericValue();
            numericValue7.Text = "2.5";

            numericPoint2.Append(numericValue7);

            C.NumericPoint numericPoint3 = new C.NumericPoint() { Index = (UInt32Value)2U };
            C.NumericValue numericValue8 = new C.NumericValue();
            numericValue8.Text = "3.5";

            numericPoint3.Append(numericValue8);

            C.NumericPoint numericPoint4 = new C.NumericPoint() { Index = (UInt32Value)3U };
            C.NumericValue numericValue9 = new C.NumericValue();
            numericValue9.Text = "4.5";

            numericPoint4.Append(numericValue9);

            numberingCache1.Append(formatCode1);
            numberingCache1.Append(pointCount3);
            numberingCache1.Append(numericPoint1);
            numberingCache1.Append(numericPoint2);
            numberingCache1.Append(numericPoint3);
            numberingCache1.Append(numericPoint4);

            numberReference1.Append(formula3);
            numberReference1.Append(numberingCache1);

            values1.Append(numberReference1);
            C.Smooth smooth1 = new C.Smooth() { Val = false };

            lineChartSeries1.Append(index1);
            lineChartSeries1.Append(order1);
            lineChartSeries1.Append(seriesText1);
            lineChartSeries1.Append(marker1);
            lineChartSeries1.Append(categoryAxisData1);
            lineChartSeries1.Append(values1);
            lineChartSeries1.Append(smooth1);

            C.LineChartSeries lineChartSeries2 = new C.LineChartSeries();
            C.Index index2 = new C.Index() { Val = (UInt32Value)1U };
            C.Order order2 = new C.Order() { Val = (UInt32Value)1U };

            C.SeriesText seriesText2 = new C.SeriesText();

            C.StringReference stringReference3 = new C.StringReference();
            C.Formula formula4 = new C.Formula();
            formula4.Text = "Sheet1!$C$1";

            C.StringCache stringCache3 = new C.StringCache();
            C.PointCount pointCount4 = new C.PointCount() { Val = (UInt32Value)1U };

            C.StringPoint stringPoint6 = new C.StringPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue10 = new C.NumericValue();
            numericValue10.Text = "Series 2";

            stringPoint6.Append(numericValue10);

            stringCache3.Append(pointCount4);
            stringCache3.Append(stringPoint6);

            stringReference3.Append(formula4);
            stringReference3.Append(stringCache3);

            seriesText2.Append(stringReference3);

            C.Marker marker2 = new C.Marker();
            C.Symbol symbol2 = new C.Symbol() { Val = C.MarkerStyleValues.None };

            marker2.Append(symbol2);

            C.CategoryAxisData categoryAxisData2 = new C.CategoryAxisData();

            C.StringReference stringReference4 = new C.StringReference();
            C.Formula formula5 = new C.Formula();
            formula5.Text = "Sheet1!$A$2:$A$5";

            C.StringCache stringCache4 = new C.StringCache();
            C.PointCount pointCount5 = new C.PointCount() { Val = (UInt32Value)4U };

            C.StringPoint stringPoint7 = new C.StringPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue11 = new C.NumericValue();
            numericValue11.Text = "Category 1";

            stringPoint7.Append(numericValue11);

            C.StringPoint stringPoint8 = new C.StringPoint() { Index = (UInt32Value)1U };
            C.NumericValue numericValue12 = new C.NumericValue();
            numericValue12.Text = "Category 2";

            stringPoint8.Append(numericValue12);

            C.StringPoint stringPoint9 = new C.StringPoint() { Index = (UInt32Value)2U };
            C.NumericValue numericValue13 = new C.NumericValue();
            numericValue13.Text = "Category 3";

            stringPoint9.Append(numericValue13);

            C.StringPoint stringPoint10 = new C.StringPoint() { Index = (UInt32Value)3U };
            C.NumericValue numericValue14 = new C.NumericValue();
            numericValue14.Text = "Category 4";

            stringPoint10.Append(numericValue14);

            stringCache4.Append(pointCount5);
            stringCache4.Append(stringPoint7);
            stringCache4.Append(stringPoint8);
            stringCache4.Append(stringPoint9);
            stringCache4.Append(stringPoint10);

            stringReference4.Append(formula5);
            stringReference4.Append(stringCache4);

            categoryAxisData2.Append(stringReference4);

            C.Values values2 = new C.Values();

            C.NumberReference numberReference2 = new C.NumberReference();
            C.Formula formula6 = new C.Formula();
            formula6.Text = "Sheet1!$C$2:$C$5";

            C.NumberingCache numberingCache2 = new C.NumberingCache();
            C.FormatCode formatCode2 = new C.FormatCode();
            formatCode2.Text = "General";
            C.PointCount pointCount6 = new C.PointCount() { Val = (UInt32Value)4U };

            C.NumericPoint numericPoint5 = new C.NumericPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue15 = new C.NumericValue();
            numericValue15.Text = "2.4";

            numericPoint5.Append(numericValue15);

            C.NumericPoint numericPoint6 = new C.NumericPoint() { Index = (UInt32Value)1U };
            C.NumericValue numericValue16 = new C.NumericValue();
            numericValue16.Text = "4.4000000000000004";

            numericPoint6.Append(numericValue16);

            C.NumericPoint numericPoint7 = new C.NumericPoint() { Index = (UInt32Value)2U };
            C.NumericValue numericValue17 = new C.NumericValue();
            numericValue17.Text = "1.8";

            numericPoint7.Append(numericValue17);

            C.NumericPoint numericPoint8 = new C.NumericPoint() { Index = (UInt32Value)3U };
            C.NumericValue numericValue18 = new C.NumericValue();
            numericValue18.Text = "2.8";

            numericPoint8.Append(numericValue18);

            numberingCache2.Append(formatCode2);
            numberingCache2.Append(pointCount6);
            numberingCache2.Append(numericPoint5);
            numberingCache2.Append(numericPoint6);
            numberingCache2.Append(numericPoint7);
            numberingCache2.Append(numericPoint8);

            numberReference2.Append(formula6);
            numberReference2.Append(numberingCache2);

            values2.Append(numberReference2);
            C.Smooth smooth2 = new C.Smooth() { Val = false };

            lineChartSeries2.Append(index2);
            lineChartSeries2.Append(order2);
            lineChartSeries2.Append(seriesText2);
            lineChartSeries2.Append(marker2);
            lineChartSeries2.Append(categoryAxisData2);
            lineChartSeries2.Append(values2);
            lineChartSeries2.Append(smooth2);

            C.LineChartSeries lineChartSeries3 = new C.LineChartSeries();
            C.Index index3 = new C.Index() { Val = (UInt32Value)2U };
            C.Order order3 = new C.Order() { Val = (UInt32Value)2U };

            C.SeriesText seriesText3 = new C.SeriesText();

            C.StringReference stringReference5 = new C.StringReference();
            C.Formula formula7 = new C.Formula();
            formula7.Text = "Sheet1!$D$1";

            C.StringCache stringCache5 = new C.StringCache();
            C.PointCount pointCount7 = new C.PointCount() { Val = (UInt32Value)1U };

            C.StringPoint stringPoint11 = new C.StringPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue19 = new C.NumericValue();
            numericValue19.Text = "Series 3";

            stringPoint11.Append(numericValue19);

            stringCache5.Append(pointCount7);
            stringCache5.Append(stringPoint11);

            stringReference5.Append(formula7);
            stringReference5.Append(stringCache5);

            seriesText3.Append(stringReference5);

            C.Marker marker3 = new C.Marker();
            C.Symbol symbol3 = new C.Symbol() { Val = C.MarkerStyleValues.None };

            marker3.Append(symbol3);

            C.CategoryAxisData categoryAxisData3 = new C.CategoryAxisData();

            C.StringReference stringReference6 = new C.StringReference();
            C.Formula formula8 = new C.Formula();
            formula8.Text = "Sheet1!$A$2:$A$5";

            C.StringCache stringCache6 = new C.StringCache();
            C.PointCount pointCount8 = new C.PointCount() { Val = (UInt32Value)4U };

            C.StringPoint stringPoint12 = new C.StringPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue20 = new C.NumericValue();
            numericValue20.Text = "Category 1";

            stringPoint12.Append(numericValue20);

            C.StringPoint stringPoint13 = new C.StringPoint() { Index = (UInt32Value)1U };
            C.NumericValue numericValue21 = new C.NumericValue();
            numericValue21.Text = "Category 2";

            stringPoint13.Append(numericValue21);

            C.StringPoint stringPoint14 = new C.StringPoint() { Index = (UInt32Value)2U };
            C.NumericValue numericValue22 = new C.NumericValue();
            numericValue22.Text = "Category 3";

            stringPoint14.Append(numericValue22);

            C.StringPoint stringPoint15 = new C.StringPoint() { Index = (UInt32Value)3U };
            C.NumericValue numericValue23 = new C.NumericValue();
            numericValue23.Text = "Category 4";

            stringPoint15.Append(numericValue23);

            stringCache6.Append(pointCount8);
            stringCache6.Append(stringPoint12);
            stringCache6.Append(stringPoint13);
            stringCache6.Append(stringPoint14);
            stringCache6.Append(stringPoint15);

            stringReference6.Append(formula8);
            stringReference6.Append(stringCache6);

            categoryAxisData3.Append(stringReference6);

            C.Values values3 = new C.Values();

            C.NumberReference numberReference3 = new C.NumberReference();
            C.Formula formula9 = new C.Formula();
            formula9.Text = "Sheet1!$D$2:$D$5";

            C.NumberingCache numberingCache3 = new C.NumberingCache();
            C.FormatCode formatCode3 = new C.FormatCode();
            formatCode3.Text = "General";
            C.PointCount pointCount9 = new C.PointCount() { Val = (UInt32Value)4U };

            C.NumericPoint numericPoint9 = new C.NumericPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue24 = new C.NumericValue();
            numericValue24.Text = "2";

            numericPoint9.Append(numericValue24);

            C.NumericPoint numericPoint10 = new C.NumericPoint() { Index = (UInt32Value)1U };
            C.NumericValue numericValue25 = new C.NumericValue();
            numericValue25.Text = "2";

            numericPoint10.Append(numericValue25);

            C.NumericPoint numericPoint11 = new C.NumericPoint() { Index = (UInt32Value)2U };
            C.NumericValue numericValue26 = new C.NumericValue();
            numericValue26.Text = "3";

            numericPoint11.Append(numericValue26);

            C.NumericPoint numericPoint12 = new C.NumericPoint() { Index = (UInt32Value)3U };
            C.NumericValue numericValue27 = new C.NumericValue();
            numericValue27.Text = "5";

            numericPoint12.Append(numericValue27);

            numberingCache3.Append(formatCode3);
            numberingCache3.Append(pointCount9);
            numberingCache3.Append(numericPoint9);
            numberingCache3.Append(numericPoint10);
            numberingCache3.Append(numericPoint11);
            numberingCache3.Append(numericPoint12);

            numberReference3.Append(formula9);
            numberReference3.Append(numberingCache3);

            values3.Append(numberReference3);
            C.Smooth smooth3 = new C.Smooth() { Val = false };

            lineChartSeries3.Append(index3);
            lineChartSeries3.Append(order3);
            lineChartSeries3.Append(seriesText3);
            lineChartSeries3.Append(marker3);
            lineChartSeries3.Append(categoryAxisData3);
            lineChartSeries3.Append(values3);
            lineChartSeries3.Append(smooth3);

            C.DataLabels dataLabels1 = new C.DataLabels();
            C.ShowLegendKey showLegendKey1 = new C.ShowLegendKey() { Val = false };
            C.ShowValue showValue1 = new C.ShowValue() { Val = false };
            C.ShowCategoryName showCategoryName1 = new C.ShowCategoryName() { Val = false };
            C.ShowSeriesName showSeriesName1 = new C.ShowSeriesName() { Val = false };
            C.ShowPercent showPercent1 = new C.ShowPercent() { Val = false };
            C.ShowBubbleSize showBubbleSize1 = new C.ShowBubbleSize() { Val = false };

            dataLabels1.Append(showLegendKey1);
            dataLabels1.Append(showValue1);
            dataLabels1.Append(showCategoryName1);
            dataLabels1.Append(showSeriesName1);
            dataLabels1.Append(showPercent1);
            dataLabels1.Append(showBubbleSize1);
            C.ShowMarker showMarker1 = new C.ShowMarker() { Val = true };
            C.Smooth smooth4 = new C.Smooth() { Val = false };
            C.AxisId axisId1 = new C.AxisId() { Val = (UInt32Value)231952384U };
            C.AxisId axisId2 = new C.AxisId() { Val = (UInt32Value)231953920U };

            lineChart1.Append(grouping1);
            lineChart1.Append(varyColors1);
            lineChart1.Append(lineChartSeries1);
            lineChart1.Append(lineChartSeries2);
            lineChart1.Append(lineChartSeries3);
            lineChart1.Append(dataLabels1);
            lineChart1.Append(showMarker1);
            lineChart1.Append(smooth4);
            lineChart1.Append(axisId1);
            lineChart1.Append(axisId2);

            C.CategoryAxis categoryAxis1 = new C.CategoryAxis();
            C.AxisId axisId3 = new C.AxisId() { Val = (UInt32Value)231952384U };

            C.Scaling scaling1 = new C.Scaling();
            C.Orientation orientation1 = new C.Orientation() { Val = C.OrientationValues.MinMax };

            scaling1.Append(orientation1);
            C.Delete delete1 = new C.Delete() { Val = false };
            C.AxisPosition axisPosition1 = new C.AxisPosition() { Val = C.AxisPositionValues.Bottom };
            C.MajorTickMark majorTickMark1 = new C.MajorTickMark() { Val = C.TickMarkValues.Outside };
            C.MinorTickMark minorTickMark1 = new C.MinorTickMark() { Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition1 = new C.TickLabelPosition() { Val = C.TickLabelPositionValues.NextTo };
            C.CrossingAxis crossingAxis1 = new C.CrossingAxis() { Val = (UInt32Value)231953920U };
            C.Crosses crosses1 = new C.Crosses() { Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled1 = new C.AutoLabeled() { Val = true };
            C.LabelAlignment labelAlignment1 = new C.LabelAlignment() { Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset1 = new C.LabelOffset() { Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels1 = new C.NoMultiLevelLabels() { Val = false };

            categoryAxis1.Append(axisId3);
            categoryAxis1.Append(scaling1);
            categoryAxis1.Append(delete1);
            categoryAxis1.Append(axisPosition1);
            categoryAxis1.Append(majorTickMark1);
            categoryAxis1.Append(minorTickMark1);
            categoryAxis1.Append(tickLabelPosition1);
            categoryAxis1.Append(crossingAxis1);
            categoryAxis1.Append(crosses1);
            categoryAxis1.Append(autoLabeled1);
            categoryAxis1.Append(labelAlignment1);
            categoryAxis1.Append(labelOffset1);
            categoryAxis1.Append(noMultiLevelLabels1);

            C.ValueAxis valueAxis1 = new C.ValueAxis();
            C.AxisId axisId4 = new C.AxisId() { Val = (UInt32Value)231953920U };

            C.Scaling scaling2 = new C.Scaling();
            C.Orientation orientation2 = new C.Orientation() { Val = C.OrientationValues.MinMax };

            scaling2.Append(orientation2);
            C.Delete delete2 = new C.Delete() { Val = false };
            C.AxisPosition axisPosition2 = new C.AxisPosition() { Val = C.AxisPositionValues.Left };
            C.MajorGridlines majorGridlines1 = new C.MajorGridlines();
            C.NumberingFormat numberingFormat1 = new C.NumberingFormat() { FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark2 = new C.MajorTickMark() { Val = C.TickMarkValues.Outside };
            C.MinorTickMark minorTickMark2 = new C.MinorTickMark() { Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition2 = new C.TickLabelPosition() { Val = C.TickLabelPositionValues.NextTo };
            C.CrossingAxis crossingAxis2 = new C.CrossingAxis() { Val = (UInt32Value)231952384U };
            C.Crosses crosses2 = new C.Crosses() { Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween1 = new C.CrossBetween() { Val = C.CrossBetweenValues.Between };

            valueAxis1.Append(axisId4);
            valueAxis1.Append(scaling2);
            valueAxis1.Append(delete2);
            valueAxis1.Append(axisPosition2);
            valueAxis1.Append(majorGridlines1);
            valueAxis1.Append(numberingFormat1);
            valueAxis1.Append(majorTickMark2);
            valueAxis1.Append(minorTickMark2);
            valueAxis1.Append(tickLabelPosition2);
            valueAxis1.Append(crossingAxis2);
            valueAxis1.Append(crosses2);
            valueAxis1.Append(crossBetween1);

            plotArea1.Append(layout1);
            plotArea1.Append(lineChart1);
            plotArea1.Append(categoryAxis1);
            plotArea1.Append(valueAxis1);

            C.Legend legend1 = new C.Legend();
            C.LegendPosition legendPosition1 = new C.LegendPosition() { Val = C.LegendPositionValues.Right };
            C.Overlay overlay1 = new C.Overlay() { Val = false };

            legend1.Append(legendPosition1);
            legend1.Append(overlay1);
            C.PlotVisibleOnly plotVisibleOnly1 = new C.PlotVisibleOnly() { Val = true };
            C.DisplayBlanksAs displayBlanksAs1 = new C.DisplayBlanksAs() { Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum1 = new C.ShowDataLabelsOverMaximum() { Val = false };

            chart1.Append(autoTitleDeleted1);
            chart1.Append(plotArea1);
            chart1.Append(legend1);
            chart1.Append(plotVisibleOnly1);
            chart1.Append(displayBlanksAs1);
            chart1.Append(showDataLabelsOverMaximum1);

            C.ExternalData externalData1 = new C.ExternalData() { Id = "rId1" };
            C.AutoUpdate autoUpdate1 = new C.AutoUpdate() { Val = false };

            externalData1.Append(autoUpdate1);

            chartSpace1.Append(date19041);
            chartSpace1.Append(editingLanguage1);
            chartSpace1.Append(roundedCorners1);
            chartSpace1.Append(alternateContent1);
            chartSpace1.Append(chart1);
            chartSpace1.Append(externalData1);

            chartPart1.ChartSpace = chartSpace1;
        }
Example #6
0
        protected LineChartSeries GenerateLineChartSeries(string seriesName, List<ReturnData> data, string colourHex)
        {
            uint numPoints = (uint)data.Count();

            // c:ser (LineChartSeries)
            LineChartSeries lineChartSeries1 = new LineChartSeries();
            Index index1 = new Index() { Val = (UInt32Value)index };
            Order order1 = new Order() { Val = (UInt32Value)order };

            // c:tx (SeriesText)
            SeriesText seriesText1 = GenerateSeriesText(seriesName, GraphData.DataColumn);

            // c:spPr (ChartShapeProperties)
            ChartShapeProperties chartShapeProperties1 = GenerateChartShapeProperties(colourHex);

            // c:marker (Marker)
            Marker marker1 = new Marker();
            Symbol symbol1 = new Symbol() { Val = MarkerStyleValues.None };
            marker1.Append(symbol1);

            // c:val (Values)
            double[] valuesData = data.Select(v => v.Value).ToArray();
            string valuesColumn = GraphData.AddDataColumn(seriesName, valuesData);
            Values values1 = GenerateValues(valueFormat, valuesData, valuesColumn);

            // c:cat (CategoryAxisData)
            int[] categoryData = data.Select(c => c.Date).ToArray();
            if (valuesColumn == "B") {
                string columnName = GraphData.AddDateColumn(categoryName, categoryData);
            }

            CategoryAxisData categoryAxisData1 = GenerateCategoryAxisData(axisFormat, categoryData, GraphData.DateColumn);

            lineChartSeries1.Append(index1);
            lineChartSeries1.Append(order1);
            lineChartSeries1.Append(seriesText1);
            lineChartSeries1.Append(chartShapeProperties1);
            lineChartSeries1.Append(marker1);
            lineChartSeries1.Append(categoryAxisData1);
            lineChartSeries1.Append(values1);

            this.index++;
            this.order++;

            return lineChartSeries1;
        }
        internal C.LineChartSeries ToLineChartSeries(bool IsStylish = false)
        {
            var lcs = new C.LineChartSeries();

            lcs.Index = new C.Index {
                Val = Index
            };
            lcs.Order = new C.Order {
                Val = Order
            };

            if (IsStringReference != null)
            {
                lcs.SeriesText = new C.SeriesText();
                if (IsStringReference.Value)
                {
                    lcs.SeriesText.StringReference = StringReference.ToStringReference();
                }
                else
                {
                    lcs.SeriesText.NumericValue = new C.NumericValue(NumericValue);
                }
            }

            if (Options.ShapeProperties.HasShapeProperties)
            {
                lcs.ChartShapeProperties = Options.ShapeProperties.ToChartShapeProperties(IsStylish);
            }

            if (Options.Marker.HasMarker)
            {
                lcs.Marker = Options.Marker.ToMarker(IsStylish);
            }

            if (DataPointOptionsList.Count > 0)
            {
                var indexlist = DataPointOptionsList.Keys.ToList();
                indexlist.Sort();
                int index;
                for (var i = 0; i < indexlist.Count; ++i)
                {
                    index = indexlist[i];
                    lcs.Append(DataPointOptionsList[index].ToDataPoint(index, IsStylish));
                }
            }

            if ((GroupDataLabelOptions != null) || (DataLabelOptionsList.Count > 0))
            {
                if (GroupDataLabelOptions == null)
                {
                    var gdloptions = new SLGroupDataLabelOptions(new List <Color>());
                    lcs.Append(gdloptions.ToDataLabels(DataLabelOptionsList, true));
                }
                else
                {
                    lcs.Append(GroupDataLabelOptions.ToDataLabels(DataLabelOptionsList, false));
                }
            }

            lcs.Append(AxisData.ToCategoryAxisData());
            lcs.Append(NumberData.ToValues());

            lcs.Append(new C.Smooth {
                Val = Options.Smooth
            });

            return(lcs);
        }