Beispiel #1
0
        private string GetNameOrDefault()
        {
            C.StringReference cStringReference = _seriesXmlElement.GetFirstChild <C.SeriesText>()?.StringReference;
            if (cStringReference == null)
            {
                return(null);
            }

            return(ChartReferencesParser.GetSingleString(cStringReference, SlideChart));
        }
        internal C.StringReference ToStringReference()
        {
            C.StringReference sr = new C.StringReference();
            sr.Formula = new C.Formula(this.Formula);
            sr.StringCache = new C.StringCache();
            sr.StringCache.PointCount = new C.PointCount() { Val = this.PointCount };
            for (int i = 0; i < this.Points.Count; ++i)
            {
                sr.StringCache.Append(this.Points[i].ToStringPoint());
            }

            return sr;
        }
        internal static string GetSingleString(C.StringReference stringReference, SlideChart slideChart)
        {
            string fromCache = stringReference.StringCache?.GetFirstChild <C.StringPoint>().Single().InnerText;

            if (fromCache != null)
            {
                return(fromCache);
            }

            List <X.Cell> xCell = GetXCellsByFormula(stringReference.Formula, slideChart);

            return(xCell.Single().InnerText);
        }
        public string GetSingleString(C.StringReference strRef, ChartPart chartPart)
        {
            var fromCache = strRef.StringCache?.GetFirstChild <C.StringPoint>().Single().InnerText;

            if (fromCache != null)
            {
                return(fromCache);
            }

            var formula       = strRef.Formula;
            var cellStrValues = GetCellStrValues(formula, chartPart.EmbeddedPackagePart);

            return(cellStrValues.Single());
        }
Beispiel #5
0
        internal C.StringReference ToStringReference()
        {
            C.StringReference sr = new C.StringReference();
            sr.Formula                = new C.Formula(this.Formula);
            sr.StringCache            = new C.StringCache();
            sr.StringCache.PointCount = new C.PointCount()
            {
                Val = this.PointCount
            };
            for (int i = 0; i < this.Points.Count; ++i)
            {
                sr.StringCache.Append(this.Points[i].ToStringPoint());
            }

            return(sr);
        }
        internal C.StringReference ToStringReference()
        {
            var sr = new C.StringReference();

            sr.Formula                = new C.Formula(Formula);
            sr.StringCache            = new C.StringCache();
            sr.StringCache.PointCount = new C.PointCount {
                Val = PointCount
            };
            for (var i = 0; i < Points.Count; ++i)
            {
                sr.StringCache.Append(Points[i].ToStringPoint());
            }

            return(sr);
        }
        // Generates content of chartPart2.
        private void GenerateChartPart2Content(ChartPart chartPart2)
        {
            C.ChartSpace chartSpace2 = new C.ChartSpace();
            chartSpace2.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace2.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace2.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19042 = new C.Date1904() { Val = false };
            C.EditingLanguage editingLanguage2 = new C.EditingLanguage() { Val = "en-US" };
            C.RoundedCorners roundedCorners2 = new C.RoundedCorners() { Val = false };

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

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

            alternateContentChoice2.Append(style3);

            AlternateContentFallback alternateContentFallback2 = new AlternateContentFallback();
            C.Style style4 = new C.Style() { Val = 2 };

            alternateContentFallback2.Append(style4);

            alternateContent2.Append(alternateContentChoice2);
            alternateContent2.Append(alternateContentFallback2);

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

            C.Title title1 = new C.Title();
            C.Overlay overlay2 = new C.Overlay() { Val = false };

            title1.Append(overlay2);
            C.AutoTitleDeleted autoTitleDeleted2 = new C.AutoTitleDeleted() { Val = false };

            C.PlotArea plotArea2 = new C.PlotArea();
            C.Layout layout2 = new C.Layout();

            C.PieChart pieChart1 = new C.PieChart();
            C.VaryColors varyColors2 = new C.VaryColors() { Val = true };

            C.PieChartSeries pieChartSeries1 = new C.PieChartSeries();
            C.Index index4 = new C.Index() { Val = (UInt32Value)0U };
            C.Order order4 = new C.Order() { Val = (UInt32Value)0U };

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

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

            C.StringCache stringCache7 = new C.StringCache();
            C.PointCount pointCount10 = new C.PointCount() { Val = (UInt32Value)1U };

            C.StringPoint stringPoint16 = new C.StringPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue28 = new C.NumericValue();
            numericValue28.Text = "Cases By Aging";

            stringPoint16.Append(numericValue28);

            stringCache7.Append(pointCount10);
            stringCache7.Append(stringPoint16);

            stringReference7.Append(formula10);
            stringReference7.Append(stringCache7);

            seriesText4.Append(stringReference7);

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

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

            C.StringCache stringCache8 = new C.StringCache();
            C.PointCount pointCount11 = new C.PointCount() { Val = (UInt32Value)4U };

            C.StringPoint stringPoint17 = new C.StringPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue29 = new C.NumericValue();
            numericValue29.Text = "1st Qtr";

            stringPoint17.Append(numericValue29);

            C.StringPoint stringPoint18 = new C.StringPoint() { Index = (UInt32Value)1U };
            C.NumericValue numericValue30 = new C.NumericValue();
            numericValue30.Text = "2nd Qtr";

            stringPoint18.Append(numericValue30);

            C.StringPoint stringPoint19 = new C.StringPoint() { Index = (UInt32Value)2U };
            C.NumericValue numericValue31 = new C.NumericValue();
            numericValue31.Text = "3rd Qtr";

            stringPoint19.Append(numericValue31);

            C.StringPoint stringPoint20 = new C.StringPoint() { Index = (UInt32Value)3U };
            C.NumericValue numericValue32 = new C.NumericValue();
            numericValue32.Text = "4th Qtr";

            stringPoint20.Append(numericValue32);

            stringCache8.Append(pointCount11);
            stringCache8.Append(stringPoint17);
            stringCache8.Append(stringPoint18);
            stringCache8.Append(stringPoint19);
            stringCache8.Append(stringPoint20);

            stringReference8.Append(formula11);
            stringReference8.Append(stringCache8);

            categoryAxisData4.Append(stringReference8);

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

            C.NumberReference numberReference4 = new C.NumberReference();
            C.Formula formula12 = new C.Formula();
            formula12.Text = "Sheet1!$B$2:$B$5";
            C.NumberingCache numberingCache4 = new C.NumberingCache();
            C.FormatCode formatCode4 = new C.FormatCode();
            formatCode4.Text = "General";
            C.PointCount pointCount12 = new C.PointCount() { Val = (UInt32Value)4U };

            numberingCache4.Append(formatCode4);
            numberingCache4.Append(pointCount12);

            for (int i = 0; i <= 3; i++)
            {
                C.NumericPoint numericPoint13 = new C.NumericPoint() { Index = UInt32Value.FromUInt32((uint)i) };
                C.NumericValue numericValue33 = new C.NumericValue();
                //numericValue33.Text = (10*(i+1)).ToString();
                numericValue33.Text = "25";
                numericPoint13.Append(numericValue33);
                numberingCache4.Append(numericPoint13);
            }

               /* C.NumericPoint numericPoint13 = new C.NumericPoint() { Index = (UInt32Value)0U };
            C.NumericValue numericValue33 = new C.NumericValue();
            numericValue33.Text = "99";

            numericPoint13.Append(numericValue33);

            C.NumericPoint numericPoint14 = new C.NumericPoint() { Index = (UInt32Value)1U };
            C.NumericValue numericValue34 = new C.NumericValue();
            numericValue34.Text = "3.2";

            numericPoint14.Append(numericValue34);

            C.NumericPoint numericPoint15 = new C.NumericPoint() { Index = (UInt32Value)2U };
            C.NumericValue numericValue35 = new C.NumericValue();
            numericValue35.Text = "1.4";

            numericPoint15.Append(numericValue35);

            C.NumericPoint numericPoint16 = new C.NumericPoint() { Index = (UInt32Value)3U };
            C.NumericValue numericValue36 = new C.NumericValue();
            numericValue36.Text = "1.2";

            numericPoint16.Append(numericValue36);

            numberingCache4.Append(formatCode4);
            numberingCache4.Append(pointCount12);
            numberingCache4.Append(numericPoint13);
            numberingCache4.Append(numericPoint14);
            numberingCache4.Append(numericPoint15);
            numberingCache4.Append(numericPoint16); */

            numberReference4.Append(formula12);
            numberReference4.Append(numberingCache4);

            values4.Append(numberReference4);

            pieChartSeries1.Append(index4);
            pieChartSeries1.Append(order4);
            pieChartSeries1.Append(seriesText4);
            pieChartSeries1.Append(categoryAxisData4);
            pieChartSeries1.Append(values4);

            C.DataLabels dataLabels2 = new C.DataLabels();
            C.ShowLegendKey showLegendKey2 = new C.ShowLegendKey() { Val = false };
            C.ShowValue showValue2 = new C.ShowValue() { Val = false };
            C.ShowCategoryName showCategoryName2 = new C.ShowCategoryName() { Val = false };
            C.ShowSeriesName showSeriesName2 = new C.ShowSeriesName() { Val = false };
            C.ShowPercent showPercent2 = new C.ShowPercent() { Val = false };
            C.ShowBubbleSize showBubbleSize2 = new C.ShowBubbleSize() { Val = false };
            C.ShowLeaderLines showLeaderLines1 = new C.ShowLeaderLines() { Val = true };

            dataLabels2.Append(showLegendKey2);
            dataLabels2.Append(showValue2);
            dataLabels2.Append(showCategoryName2);
            dataLabels2.Append(showSeriesName2);
            dataLabels2.Append(showPercent2);
            dataLabels2.Append(showBubbleSize2);
            dataLabels2.Append(showLeaderLines1);
            C.FirstSliceAngle firstSliceAngle1 = new C.FirstSliceAngle() { Val = (UInt16Value)0U };

            pieChart1.Append(varyColors2);
            pieChart1.Append(pieChartSeries1);
            pieChart1.Append(dataLabels2);
            pieChart1.Append(firstSliceAngle1);

            plotArea2.Append(layout2);
            plotArea2.Append(pieChart1);

            C.Legend legend2 = new C.Legend();
            C.LegendPosition legendPosition2 = new C.LegendPosition() { Val = C.LegendPositionValues.Right };
            C.Overlay overlay3 = new C.Overlay() { Val = false };

            legend2.Append(legendPosition2);
            legend2.Append(overlay3);
            C.PlotVisibleOnly plotVisibleOnly2 = new C.PlotVisibleOnly() { Val = true };
            C.DisplayBlanksAs displayBlanksAs2 = new C.DisplayBlanksAs() { Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum2 = new C.ShowDataLabelsOverMaximum() { Val = false };

            chart2.Append(title1);
            chart2.Append(autoTitleDeleted2);
            chart2.Append(plotArea2);
            chart2.Append(legend2);
            chart2.Append(plotVisibleOnly2);
            chart2.Append(displayBlanksAs2);
            chart2.Append(showDataLabelsOverMaximum2);

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

            externalData2.Append(autoUpdate2);

            chartSpace2.Append(date19042);
            chartSpace2.Append(editingLanguage2);
            chartSpace2.Append(roundedCorners2);
            chartSpace2.Append(alternateContent2);
            chartSpace2.Append(chart2);
            chartSpace2.Append(externalData2);

            chartPart2.ChartSpace = chartSpace2;
        }
        // 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;
        }
        // Generates content of chartPart12.
        private void GenerateChartPart12Content(ChartPart chartPart12)
        {
            C.ChartSpace chartSpace12 = new C.ChartSpace();
            chartSpace12.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace12.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace12.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date190412 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage12 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners12 = new C.RoundedCorners(){ Val = false };

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

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

            alternateContentChoice25.Append(style23);

            AlternateContentFallback alternateContentFallback24 = new AlternateContentFallback();
            C.Style style24 = new C.Style(){ Val = 1 };

            alternateContentFallback24.Append(style24);

            alternateContent25.Append(alternateContentChoice25);
            alternateContent25.Append(alternateContentFallback24);

            C.PivotSource pivotSource12 = new C.PivotSource();
            C.PivotTableName pivotTableName12 = new C.PivotTableName();
            pivotTableName12.Text = "[GeneratedDocument.xlsx]Caption!PivotTable1";
            C.FormatId formatId12 = new C.FormatId(){ Val = (UInt32Value)7U };

            pivotSource12.Append(pivotTableName12);
            pivotSource12.Append(formatId12);

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

            C.Title title12 = new C.Title();
            C.Overlay overlay23 = new C.Overlay(){ Val = false };

            title12.Append(overlay23);
            C.AutoTitleDeleted autoTitleDeleted12 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats12 = new C.PivotFormats();

            C.PivotFormat pivotFormat97 = new C.PivotFormat();
            C.Index index108 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties45 = new C.ShapeProperties();

            A.SolidFill solidFill81 = new A.SolidFill();

            A.SchemeColor schemeColor57 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint29 = new A.Tint(){ Val = 100000 };

            schemeColor57.Append(tint29);

            solidFill81.Append(schemeColor57);

            A.Outline outline65 = new A.Outline();
            A.NoFill noFill57 = new A.NoFill();

            outline65.Append(noFill57);
            A.EffectList effectList53 = new A.EffectList();

            shapeProperties45.Append(solidFill81);
            shapeProperties45.Append(outline65);
            shapeProperties45.Append(effectList53);

            C.Marker marker97 = new C.Marker();
            C.Symbol symbol97 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker97.Append(symbol97);

            pivotFormat97.Append(index108);
            pivotFormat97.Append(shapeProperties45);
            pivotFormat97.Append(marker97);

            C.PivotFormat pivotFormat98 = new C.PivotFormat();
            C.Index index109 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties46 = new C.ShapeProperties();

            A.SolidFill solidFill82 = new A.SolidFill();

            A.SchemeColor schemeColor58 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint30 = new A.Tint(){ Val = 100000 };

            schemeColor58.Append(tint30);

            solidFill82.Append(schemeColor58);

            A.Outline outline66 = new A.Outline();
            A.NoFill noFill58 = new A.NoFill();

            outline66.Append(noFill58);
            A.EffectList effectList54 = new A.EffectList();

            shapeProperties46.Append(solidFill82);
            shapeProperties46.Append(outline66);
            shapeProperties46.Append(effectList54);

            C.Marker marker98 = new C.Marker();
            C.Symbol symbol98 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker98.Append(symbol98);

            pivotFormat98.Append(index109);
            pivotFormat98.Append(shapeProperties46);
            pivotFormat98.Append(marker98);

            C.PivotFormat pivotFormat99 = new C.PivotFormat();
            C.Index index110 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker99 = new C.Marker();
            C.Symbol symbol99 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker99.Append(symbol99);

            pivotFormat99.Append(index110);
            pivotFormat99.Append(marker99);

            C.PivotFormat pivotFormat100 = new C.PivotFormat();
            C.Index index111 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker100 = new C.Marker();
            C.Symbol symbol100 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker100.Append(symbol100);

            pivotFormat100.Append(index111);
            pivotFormat100.Append(marker100);

            C.PivotFormat pivotFormat101 = new C.PivotFormat();
            C.Index index112 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker101 = new C.Marker();
            C.Symbol symbol101 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker101.Append(symbol101);

            pivotFormat101.Append(index112);
            pivotFormat101.Append(marker101);

            C.PivotFormat pivotFormat102 = new C.PivotFormat();
            C.Index index113 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker102 = new C.Marker();
            C.Symbol symbol102 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker102.Append(symbol102);

            pivotFormat102.Append(index113);
            pivotFormat102.Append(marker102);

            C.PivotFormat pivotFormat103 = new C.PivotFormat();
            C.Index index114 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker103 = new C.Marker();
            C.Symbol symbol103 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker103.Append(symbol103);

            pivotFormat103.Append(index114);
            pivotFormat103.Append(marker103);

            C.PivotFormat pivotFormat104 = new C.PivotFormat();
            C.Index index115 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker104 = new C.Marker();
            C.Symbol symbol104 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker104.Append(symbol104);

            pivotFormat104.Append(index115);
            pivotFormat104.Append(marker104);

            C.PivotFormat pivotFormat105 = new C.PivotFormat();
            C.Index index116 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker105 = new C.Marker();
            C.Symbol symbol105 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker105.Append(symbol105);

            pivotFormat105.Append(index116);
            pivotFormat105.Append(marker105);

            C.PivotFormat pivotFormat106 = new C.PivotFormat();
            C.Index index117 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker106 = new C.Marker();
            C.Symbol symbol106 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker106.Append(symbol106);

            pivotFormat106.Append(index117);
            pivotFormat106.Append(marker106);

            C.PivotFormat pivotFormat107 = new C.PivotFormat();
            C.Index index118 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker107 = new C.Marker();
            C.Symbol symbol107 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker107.Append(symbol107);

            pivotFormat107.Append(index118);
            pivotFormat107.Append(marker107);

            C.PivotFormat pivotFormat108 = new C.PivotFormat();
            C.Index index119 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker108 = new C.Marker();
            C.Symbol symbol108 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker108.Append(symbol108);

            pivotFormat108.Append(index119);
            pivotFormat108.Append(marker108);

            C.PivotFormat pivotFormat109 = new C.PivotFormat();
            C.Index index120 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker109 = new C.Marker();
            C.Symbol symbol109 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker109.Append(symbol109);

            pivotFormat109.Append(index120);
            pivotFormat109.Append(marker109);

            C.PivotFormat pivotFormat110 = new C.PivotFormat();
            C.Index index121 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker110 = new C.Marker();
            C.Symbol symbol110 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker110.Append(symbol110);

            pivotFormat110.Append(index121);
            pivotFormat110.Append(marker110);

            C.PivotFormat pivotFormat111 = new C.PivotFormat();
            C.Index index122 = new C.Index(){ Val = (UInt32Value)14U };

            C.ShapeProperties shapeProperties47 = new C.ShapeProperties();

            A.SolidFill solidFill83 = new A.SolidFill();

            A.SchemeColor schemeColor59 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint31 = new A.Tint(){ Val = 100000 };

            schemeColor59.Append(tint31);

            solidFill83.Append(schemeColor59);

            A.Outline outline67 = new A.Outline();
            A.NoFill noFill59 = new A.NoFill();

            outline67.Append(noFill59);
            A.EffectList effectList55 = new A.EffectList();

            shapeProperties47.Append(solidFill83);
            shapeProperties47.Append(outline67);
            shapeProperties47.Append(effectList55);

            C.Marker marker111 = new C.Marker();
            C.Symbol symbol111 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker111.Append(symbol111);

            pivotFormat111.Append(index122);
            pivotFormat111.Append(shapeProperties47);
            pivotFormat111.Append(marker111);

            pivotFormats12.Append(pivotFormat97);
            pivotFormats12.Append(pivotFormat98);
            pivotFormats12.Append(pivotFormat99);
            pivotFormats12.Append(pivotFormat100);
            pivotFormats12.Append(pivotFormat101);
            pivotFormats12.Append(pivotFormat102);
            pivotFormats12.Append(pivotFormat103);
            pivotFormats12.Append(pivotFormat104);
            pivotFormats12.Append(pivotFormat105);
            pivotFormats12.Append(pivotFormat106);
            pivotFormats12.Append(pivotFormat107);
            pivotFormats12.Append(pivotFormat108);
            pivotFormats12.Append(pivotFormat109);
            pivotFormats12.Append(pivotFormat110);
            pivotFormats12.Append(pivotFormat111);

            C.PlotArea plotArea12 = new C.PlotArea();
            C.Layout layout12 = new C.Layout();

            C.BarChart barChart6 = new C.BarChart();
            C.BarDirection barDirection6 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping6 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors12 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries6 = new C.BarChartSeries();
            C.Index index123 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order12 = new C.Order(){ Val = (UInt32Value)0U };

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

            C.StringReference stringReference23 = new C.StringReference();
            C.Formula formula34 = new C.Formula();
            formula34.Text = "Caption!$B$1";

            C.StringCache stringCache23 = new C.StringCache();
            C.PointCount pointCount34 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint45 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue78 = new C.NumericValue();
            numericValue78.Text = "Total";

            stringPoint45.Append(numericValue78);

            stringCache23.Append(pointCount34);
            stringCache23.Append(stringPoint45);

            stringReference23.Append(formula34);
            stringReference23.Append(stringCache23);

            seriesText12.Append(stringReference23);

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

            A.SolidFill solidFill84 = new A.SolidFill();

            A.SchemeColor schemeColor60 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint32 = new A.Tint(){ Val = 100000 };

            schemeColor60.Append(tint32);

            solidFill84.Append(schemeColor60);

            A.Outline outline68 = new A.Outline();
            A.NoFill noFill60 = new A.NoFill();

            outline68.Append(noFill60);
            A.EffectList effectList56 = new A.EffectList();

            chartShapeProperties21.Append(solidFill84);
            chartShapeProperties21.Append(outline68);
            chartShapeProperties21.Append(effectList56);
            C.InvertIfNegative invertIfNegative6 = new C.InvertIfNegative(){ Val = false };

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

            C.StringReference stringReference24 = new C.StringReference();
            C.Formula formula35 = new C.Formula();
            formula35.Text = "Caption!$A$2:$A$5";

            C.StringCache stringCache24 = new C.StringCache();
            C.PointCount pointCount35 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint46 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue79 = new C.NumericValue();
            numericValue79.Text = "product_A";

            stringPoint46.Append(numericValue79);

            C.StringPoint stringPoint47 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue80 = new C.NumericValue();
            numericValue80.Text = "product_D";

            stringPoint47.Append(numericValue80);

            C.StringPoint stringPoint48 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue81 = new C.NumericValue();
            numericValue81.Text = "product_E";

            stringPoint48.Append(numericValue81);

            stringCache24.Append(pointCount35);
            stringCache24.Append(stringPoint46);
            stringCache24.Append(stringPoint47);
            stringCache24.Append(stringPoint48);

            stringReference24.Append(formula35);
            stringReference24.Append(stringCache24);

            categoryAxisData12.Append(stringReference24);

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

            C.NumberReference numberReference12 = new C.NumberReference();
            C.Formula formula36 = new C.Formula();
            formula36.Text = "Caption!$B$2:$B$5";

            C.NumberingCache numberingCache12 = new C.NumberingCache();
            C.FormatCode formatCode12 = new C.FormatCode();
            formatCode12.Text = "General";
            C.PointCount pointCount36 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint34 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue82 = new C.NumericValue();
            numericValue82.Text = "19";

            numericPoint34.Append(numericValue82);

            C.NumericPoint numericPoint35 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue83 = new C.NumericValue();
            numericValue83.Text = "13";

            numericPoint35.Append(numericValue83);

            C.NumericPoint numericPoint36 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue84 = new C.NumericValue();
            numericValue84.Text = "33";

            numericPoint36.Append(numericValue84);

            numberingCache12.Append(formatCode12);
            numberingCache12.Append(pointCount36);
            numberingCache12.Append(numericPoint34);
            numberingCache12.Append(numericPoint35);
            numberingCache12.Append(numericPoint36);

            numberReference12.Append(formula36);
            numberReference12.Append(numberingCache12);

            values12.Append(numberReference12);

            barChartSeries6.Append(index123);
            barChartSeries6.Append(order12);
            barChartSeries6.Append(seriesText12);
            barChartSeries6.Append(chartShapeProperties21);
            barChartSeries6.Append(invertIfNegative6);
            barChartSeries6.Append(categoryAxisData12);
            barChartSeries6.Append(values12);

            C.DataLabels dataLabels12 = new C.DataLabels();
            C.ShowLegendKey showLegendKey12 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue12 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName12 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName12 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent12 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize12 = new C.ShowBubbleSize(){ Val = false };

            dataLabels12.Append(showLegendKey12);
            dataLabels12.Append(showValue12);
            dataLabels12.Append(showCategoryName12);
            dataLabels12.Append(showSeriesName12);
            dataLabels12.Append(showPercent12);
            dataLabels12.Append(showBubbleSize12);
            C.GapWidth gapWidth6 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap5 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId21 = new C.AxisId(){ Val = (UInt32Value)164321080U };
            C.AxisId axisId22 = new C.AxisId(){ Val = (UInt32Value)209664384U };

            barChart6.Append(barDirection6);
            barChart6.Append(barGrouping6);
            barChart6.Append(varyColors12);
            barChart6.Append(barChartSeries6);
            barChart6.Append(dataLabels12);
            barChart6.Append(gapWidth6);
            barChart6.Append(overlap5);
            barChart6.Append(axisId21);
            barChart6.Append(axisId22);

            C.CategoryAxis categoryAxis6 = new C.CategoryAxis();
            C.AxisId axisId23 = new C.AxisId(){ Val = (UInt32Value)164321080U };

            C.Scaling scaling11 = new C.Scaling();
            C.Orientation orientation11 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling11.Append(orientation11);
            C.Delete delete11 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition11 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat22 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark11 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark11 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition11 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties22 = new C.ChartShapeProperties();
            A.NoFill noFill61 = new A.NoFill();

            A.Outline outline69 = new A.Outline();
            A.NoFill noFill62 = new A.NoFill();

            outline69.Append(noFill62);
            A.EffectList effectList57 = new A.EffectList();

            chartShapeProperties22.Append(noFill61);
            chartShapeProperties22.Append(outline69);
            chartShapeProperties22.Append(effectList57);

            C.TextProperties textProperties17 = new C.TextProperties();
            A.BodyProperties bodyProperties29 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle29 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties17 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties17 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill85 = new A.SolidFill();

            A.SchemeColor schemeColor61 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation21 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset21 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor61.Append(luminanceModulation21);
            schemeColor61.Append(luminanceOffset21);

            solidFill85.Append(schemeColor61);
            A.LatinFont latinFont13 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont13 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont13 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties17.Append(solidFill85);
            defaultRunProperties17.Append(latinFont13);
            defaultRunProperties17.Append(eastAsianFont13);
            defaultRunProperties17.Append(complexScriptFont13);

            paragraphProperties17.Append(defaultRunProperties17);
            A.EndParagraphRunProperties endParagraphRunProperties17 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph29.Append(paragraphProperties17);
            paragraph29.Append(endParagraphRunProperties17);

            textProperties17.Append(bodyProperties29);
            textProperties17.Append(listStyle29);
            textProperties17.Append(paragraph29);
            C.CrossingAxis crossingAxis11 = new C.CrossingAxis(){ Val = (UInt32Value)209664384U };
            C.Crosses crosses11 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled6 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment6 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset6 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels6 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis6.Append(axisId23);
            categoryAxis6.Append(scaling11);
            categoryAxis6.Append(delete11);
            categoryAxis6.Append(axisPosition11);
            categoryAxis6.Append(numberingFormat22);
            categoryAxis6.Append(majorTickMark11);
            categoryAxis6.Append(minorTickMark11);
            categoryAxis6.Append(tickLabelPosition11);
            categoryAxis6.Append(chartShapeProperties22);
            categoryAxis6.Append(textProperties17);
            categoryAxis6.Append(crossingAxis11);
            categoryAxis6.Append(crosses11);
            categoryAxis6.Append(autoLabeled6);
            categoryAxis6.Append(labelAlignment6);
            categoryAxis6.Append(labelOffset6);
            categoryAxis6.Append(noMultiLevelLabels6);

            C.ValueAxis valueAxis6 = new C.ValueAxis();
            C.AxisId axisId24 = new C.AxisId(){ Val = (UInt32Value)209664384U };

            C.Scaling scaling12 = new C.Scaling();
            C.Orientation orientation12 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling12.Append(orientation12);
            C.Delete delete12 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition12 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

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

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

            A.Outline outline70 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill86 = new A.SolidFill();

            A.SchemeColor schemeColor62 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation22 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset22 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor62.Append(luminanceModulation22);
            schemeColor62.Append(luminanceOffset22);

            solidFill86.Append(schemeColor62);
            A.Round round9 = new A.Round();

            outline70.Append(solidFill86);
            outline70.Append(round9);
            A.EffectList effectList58 = new A.EffectList();

            chartShapeProperties23.Append(outline70);
            chartShapeProperties23.Append(effectList58);

            majorGridlines6.Append(chartShapeProperties23);
            C.NumberingFormat numberingFormat23 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark12 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark12 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition12 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties24 = new C.ChartShapeProperties();
            A.NoFill noFill63 = new A.NoFill();

            A.Outline outline71 = new A.Outline();
            A.NoFill noFill64 = new A.NoFill();

            outline71.Append(noFill64);
            A.EffectList effectList59 = new A.EffectList();

            chartShapeProperties24.Append(noFill63);
            chartShapeProperties24.Append(outline71);
            chartShapeProperties24.Append(effectList59);

            C.TextProperties textProperties18 = new C.TextProperties();
            A.BodyProperties bodyProperties30 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle30 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties18 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties18 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill87 = new A.SolidFill();

            A.SchemeColor schemeColor63 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation23 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset23 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor63.Append(luminanceModulation23);
            schemeColor63.Append(luminanceOffset23);

            solidFill87.Append(schemeColor63);
            A.LatinFont latinFont14 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont14 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont14 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties18.Append(solidFill87);
            defaultRunProperties18.Append(latinFont14);
            defaultRunProperties18.Append(eastAsianFont14);
            defaultRunProperties18.Append(complexScriptFont14);

            paragraphProperties18.Append(defaultRunProperties18);
            A.EndParagraphRunProperties endParagraphRunProperties18 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph30.Append(paragraphProperties18);
            paragraph30.Append(endParagraphRunProperties18);

            textProperties18.Append(bodyProperties30);
            textProperties18.Append(listStyle30);
            textProperties18.Append(paragraph30);
            C.CrossingAxis crossingAxis12 = new C.CrossingAxis(){ Val = (UInt32Value)164321080U };
            C.Crosses crosses12 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween6 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis6.Append(axisId24);
            valueAxis6.Append(scaling12);
            valueAxis6.Append(delete12);
            valueAxis6.Append(axisPosition12);
            valueAxis6.Append(majorGridlines6);
            valueAxis6.Append(numberingFormat23);
            valueAxis6.Append(majorTickMark12);
            valueAxis6.Append(minorTickMark12);
            valueAxis6.Append(tickLabelPosition12);
            valueAxis6.Append(chartShapeProperties24);
            valueAxis6.Append(textProperties18);
            valueAxis6.Append(crossingAxis12);
            valueAxis6.Append(crosses12);
            valueAxis6.Append(crossBetween6);

            C.ShapeProperties shapeProperties48 = new C.ShapeProperties();

            A.SolidFill solidFill88 = new A.SolidFill();
            A.SchemeColor schemeColor64 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill88.Append(schemeColor64);

            A.Outline outline72 = new A.Outline();
            A.NoFill noFill65 = new A.NoFill();

            outline72.Append(noFill65);
            A.EffectList effectList60 = new A.EffectList();

            shapeProperties48.Append(solidFill88);
            shapeProperties48.Append(outline72);
            shapeProperties48.Append(effectList60);

            plotArea12.Append(layout12);
            plotArea12.Append(barChart6);
            plotArea12.Append(categoryAxis6);
            plotArea12.Append(valueAxis6);
            plotArea12.Append(shapeProperties48);

            C.Legend legend12 = new C.Legend();
            C.LegendPosition legendPosition12 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay24 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties25 = new C.ChartShapeProperties();
            A.NoFill noFill66 = new A.NoFill();

            A.Outline outline73 = new A.Outline();
            A.NoFill noFill67 = new A.NoFill();

            outline73.Append(noFill67);
            A.EffectList effectList61 = new A.EffectList();

            chartShapeProperties25.Append(noFill66);
            chartShapeProperties25.Append(outline73);
            chartShapeProperties25.Append(effectList61);

            C.TextProperties textProperties19 = new C.TextProperties();
            A.BodyProperties bodyProperties31 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle31 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties19 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties19 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill89 = new A.SolidFill();

            A.SchemeColor schemeColor65 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation24 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset24 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor65.Append(luminanceModulation24);
            schemeColor65.Append(luminanceOffset24);

            solidFill89.Append(schemeColor65);
            A.LatinFont latinFont15 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont15 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont15 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties19.Append(solidFill89);
            defaultRunProperties19.Append(latinFont15);
            defaultRunProperties19.Append(eastAsianFont15);
            defaultRunProperties19.Append(complexScriptFont15);

            paragraphProperties19.Append(defaultRunProperties19);
            A.EndParagraphRunProperties endParagraphRunProperties19 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph31.Append(paragraphProperties19);
            paragraph31.Append(endParagraphRunProperties19);

            textProperties19.Append(bodyProperties31);
            textProperties19.Append(listStyle31);
            textProperties19.Append(paragraph31);

            legend12.Append(legendPosition12);
            legend12.Append(overlay24);
            legend12.Append(chartShapeProperties25);
            legend12.Append(textProperties19);
            C.PlotVisibleOnly plotVisibleOnly12 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs12 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum12 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart12.Append(title12);
            chart12.Append(autoTitleDeleted12);
            chart12.Append(pivotFormats12);
            chart12.Append(plotArea12);
            chart12.Append(legend12);
            chart12.Append(plotVisibleOnly12);
            chart12.Append(displayBlanksAs12);
            chart12.Append(showDataLabelsOverMaximum12);

            C.ShapeProperties shapeProperties49 = new C.ShapeProperties();

            A.SolidFill solidFill90 = new A.SolidFill();
            A.SchemeColor schemeColor66 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill90.Append(schemeColor66);

            A.Outline outline74 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill91 = new A.SolidFill();

            A.SchemeColor schemeColor67 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation25 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset25 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor67.Append(luminanceModulation25);
            schemeColor67.Append(luminanceOffset25);

            solidFill91.Append(schemeColor67);
            A.Round round10 = new A.Round();

            outline74.Append(solidFill91);
            outline74.Append(round10);
            A.EffectList effectList62 = new A.EffectList();

            shapeProperties49.Append(solidFill90);
            shapeProperties49.Append(outline74);
            shapeProperties49.Append(effectList62);

            C.TextProperties textProperties20 = new C.TextProperties();
            A.BodyProperties bodyProperties32 = new A.BodyProperties();
            A.ListStyle listStyle32 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties20 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties20 = new A.DefaultRunProperties();

            paragraphProperties20.Append(defaultRunProperties20);
            A.EndParagraphRunProperties endParagraphRunProperties20 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph32.Append(paragraphProperties20);
            paragraph32.Append(endParagraphRunProperties20);

            textProperties20.Append(bodyProperties32);
            textProperties20.Append(listStyle32);
            textProperties20.Append(paragraph32);

            C.PrintSettings printSettings12 = new C.PrintSettings();
            C.HeaderFooter headerFooter12 = new C.HeaderFooter();
            C.PageMargins pageMargins20 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup12 = new C.PageSetup();

            printSettings12.Append(headerFooter12);
            printSettings12.Append(pageMargins20);
            printSettings12.Append(pageSetup12);

            C.ChartSpaceExtensionList chartSpaceExtensionList12 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList12.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList12.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension12 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension12.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions12 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter12 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories12 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData12 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries12 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible12 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions12.Append(dropZoneFilter12);
            pivotOptions12.Append(dropZoneCategories12);
            pivotOptions12.Append(dropZoneData12);
            pivotOptions12.Append(dropZoneSeries12);
            pivotOptions12.Append(dropZonesVisible12);

            chartSpaceExtension12.Append(pivotOptions12);

            chartSpaceExtensionList12.Append(chartSpaceExtension12);

            chartSpace12.Append(date190412);
            chartSpace12.Append(editingLanguage12);
            chartSpace12.Append(roundedCorners12);
            chartSpace12.Append(alternateContent25);
            chartSpace12.Append(pivotSource12);
            chartSpace12.Append(chart12);
            chartSpace12.Append(shapeProperties49);
            chartSpace12.Append(textProperties20);
            chartSpace12.Append(printSettings12);
            chartSpace12.Append(chartSpaceExtensionList12);

            chartPart12.ChartSpace = chartSpace12;
        }
        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;
        }
Beispiel #11
0
        // Generates content of chartPart1.
        public static void GenerateChartPart1Content(ChartPart chartPart1)
        {
            Chart.ChartSpace chartSpace1 = new Chart.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");
            Chart.EditingLanguage editingLanguage1 = new Chart.EditingLanguage()
            {
                Val = "fr-FR"
            };

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

            Chart.Title  title1  = new Chart.Title();
            Chart.Layout layout1 = new Chart.Layout();

            title1.Append(layout1);

            Chart.PlotArea plotArea1 = new Chart.PlotArea();
            Chart.Layout   layout2   = new Chart.Layout();

            Chart.PieChart   pieChart1   = new Chart.PieChart();
            Chart.VaryColors varyColors1 = new Chart.VaryColors()
            {
                Val = true
            };

            Chart.PieChartSeries pieChartSeries1 = new Chart.PieChartSeries();
            Chart.Index          index1          = new Chart.Index()
            {
                Val = (UInt32Value)0U
            };
            Chart.Order order1 = new Chart.Order()
            {
                Val = (UInt32Value)0U
            };

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

            Chart.StringReference stringReference1 = new Chart.StringReference();
            Chart.Formula         formula1         = new Chart.Formula();
            formula1.Text = "Feuil1!$D$7";

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

            stringCache1.Append(pointCount1);

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

            seriesText1.Append(stringReference1);

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

            Chart.NumberReference numberReference1 = new Chart.NumberReference();
            Chart.Formula         formula2         = new Chart.Formula();
            formula2.Text = "Feuil1!$E$6:$H$6";

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

            numberingCache1.Append(formatCode1);
            numberingCache1.Append(pointCount2);

            numberReference1.Append(formula2);
            numberReference1.Append(numberingCache1);

            categoryAxisData1.Append(numberReference1);

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

            Chart.NumberReference numberReference2 = new Chart.NumberReference();
            Chart.Formula         formula3         = new Chart.Formula();
            formula3.Text = "Feuil1!$E$7:$H$7";

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

            numberingCache2.Append(formatCode2);
            numberingCache2.Append(pointCount3);

            numberReference2.Append(formula3);
            numberReference2.Append(numberingCache2);

            values1.Append(numberReference2);

            pieChartSeries1.Append(index1);
            pieChartSeries1.Append(order1);
            pieChartSeries1.Append(seriesText1);
            pieChartSeries1.Append(categoryAxisData1);
            pieChartSeries1.Append(values1);
            Chart.FirstSliceAngle firstSliceAngle1 = new Chart.FirstSliceAngle()
            {
                Val = (UInt16Value)0U
            };

            pieChart1.Append(varyColors1);
            pieChart1.Append(pieChartSeries1);
            pieChart1.Append(firstSliceAngle1);

            plotArea1.Append(layout2);
            plotArea1.Append(pieChart1);

            Chart.Legend         legend1         = new Chart.Legend();
            Chart.LegendPosition legendPosition1 = new Chart.LegendPosition()
            {
                Val = Chart.LegendPositionValues.Right
            };
            Chart.Layout layout3 = new Chart.Layout();

            legend1.Append(legendPosition1);
            legend1.Append(layout3);
            Chart.PlotVisibleOnly plotVisibleOnly1 = new Chart.PlotVisibleOnly()
            {
                Val = true
            };

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

            Chart.PrintSettings printSettings1 = new Chart.PrintSettings();
            Chart.HeaderFooter  headerFooter1  = new Chart.HeaderFooter();
            Chart.PageMargins   pageMargins1   = new Chart.PageMargins()
            {
                Left = 0.70000000000000007D, Right = 0.70000000000000007D, Top = 0.75000000000000011D, Bottom = 0.75000000000000011D, Header = 0.30000000000000004D, Footer = 0.30000000000000004D
            };
            Chart.PageSetup pageSetup1 = new Chart.PageSetup();

            printSettings1.Append(headerFooter1);
            printSettings1.Append(pageMargins1);
            printSettings1.Append(pageSetup1);

            chartSpace1.Append(editingLanguage1);
            chartSpace1.Append(chart1);
            chartSpace1.Append(printSettings1);

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

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

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

            alternateContentChoice9.Append(style7);

            AlternateContentFallback alternateContentFallback8 = new AlternateContentFallback();
            C.Style style8 = new C.Style(){ Val = 2 };

            alternateContentFallback8.Append(style8);

            alternateContent9.Append(alternateContentChoice9);
            alternateContent9.Append(alternateContentFallback8);

            C.PivotSource pivotSource4 = new C.PivotSource();
            C.PivotTableName pivotTableName4 = new C.PivotTableName();
            pivotTableName4.Text = "[GeneratedDocument.xlsx]Cache!PivotTable1";
            C.FormatId formatId4 = new C.FormatId(){ Val = (UInt32Value)0U };

            pivotSource4.Append(pivotTableName4);
            pivotSource4.Append(formatId4);

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

            C.Title title4 = new C.Title();
            C.Overlay overlay7 = new C.Overlay(){ Val = false };

            title4.Append(overlay7);
            C.AutoTitleDeleted autoTitleDeleted4 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats4 = new C.PivotFormats();

            C.PivotFormat pivotFormat25 = new C.PivotFormat();
            C.Index index28 = new C.Index(){ Val = (UInt32Value)0U };

            C.Marker marker25 = new C.Marker();
            C.Symbol symbol25 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker25.Append(symbol25);

            pivotFormat25.Append(index28);
            pivotFormat25.Append(marker25);

            pivotFormats4.Append(pivotFormat25);

            C.PlotArea plotArea4 = new C.PlotArea();
            C.Layout layout4 = new C.Layout();

            C.BarChart barChart2 = new C.BarChart();
            C.BarDirection barDirection2 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping2 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors4 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries2 = new C.BarChartSeries();
            C.Index index29 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order4 = new C.Order(){ Val = (UInt32Value)0U };

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

            C.StringReference stringReference7 = new C.StringReference();
            C.Formula formula10 = new C.Formula();
            formula10.Text = "Cache!$B$1";

            C.StringCache stringCache7 = new C.StringCache();
            C.PointCount pointCount10 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint13 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue22 = new C.NumericValue();
            numericValue22.Text = "Total";

            stringPoint13.Append(numericValue22);

            stringCache7.Append(pointCount10);
            stringCache7.Append(stringPoint13);

            stringReference7.Append(formula10);
            stringReference7.Append(stringCache7);

            seriesText4.Append(stringReference7);
            C.InvertIfNegative invertIfNegative2 = new C.InvertIfNegative(){ Val = false };

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

            C.StringReference stringReference8 = new C.StringReference();
            C.Formula formula11 = new C.Formula();
            formula11.Text = "Cache!$A$2:$A$5";

            C.StringCache stringCache8 = new C.StringCache();
            C.PointCount pointCount11 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint14 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue23 = new C.NumericValue();
            numericValue23.Text = "product_C";

            stringPoint14.Append(numericValue23);

            C.StringPoint stringPoint15 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue24 = new C.NumericValue();
            numericValue24.Text = "product_F";

            stringPoint15.Append(numericValue24);

            C.StringPoint stringPoint16 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue25 = new C.NumericValue();
            numericValue25.Text = "product_G";

            stringPoint16.Append(numericValue25);

            stringCache8.Append(pointCount11);
            stringCache8.Append(stringPoint14);
            stringCache8.Append(stringPoint15);
            stringCache8.Append(stringPoint16);

            stringReference8.Append(formula11);
            stringReference8.Append(stringCache8);

            categoryAxisData4.Append(stringReference8);

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

            C.NumberReference numberReference4 = new C.NumberReference();
            C.Formula formula12 = new C.Formula();
            formula12.Text = "Cache!$B$2:$B$5";

            C.NumberingCache numberingCache4 = new C.NumberingCache();
            C.FormatCode formatCode4 = new C.FormatCode();
            formatCode4.Text = "General";
            C.PointCount pointCount12 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint10 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue26 = new C.NumericValue();
            numericValue26.Text = "2050";

            numericPoint10.Append(numericValue26);

            C.NumericPoint numericPoint11 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue27 = new C.NumericValue();
            numericValue27.Text = "3168";

            numericPoint11.Append(numericValue27);

            C.NumericPoint numericPoint12 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue28 = new C.NumericValue();
            numericValue28.Text = "11529";

            numericPoint12.Append(numericValue28);

            numberingCache4.Append(formatCode4);
            numberingCache4.Append(pointCount12);
            numberingCache4.Append(numericPoint10);
            numberingCache4.Append(numericPoint11);
            numberingCache4.Append(numericPoint12);

            numberReference4.Append(formula12);
            numberReference4.Append(numberingCache4);

            values4.Append(numberReference4);

            barChartSeries2.Append(index29);
            barChartSeries2.Append(order4);
            barChartSeries2.Append(seriesText4);
            barChartSeries2.Append(invertIfNegative2);
            barChartSeries2.Append(categoryAxisData4);
            barChartSeries2.Append(values4);

            C.DataLabels dataLabels4 = new C.DataLabels();
            C.ShowLegendKey showLegendKey4 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue4 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName4 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName4 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent4 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize4 = new C.ShowBubbleSize(){ Val = false };

            dataLabels4.Append(showLegendKey4);
            dataLabels4.Append(showValue4);
            dataLabels4.Append(showCategoryName4);
            dataLabels4.Append(showSeriesName4);
            dataLabels4.Append(showPercent4);
            dataLabels4.Append(showBubbleSize4);
            C.GapWidth gapWidth2 = new C.GapWidth(){ Val = (UInt16Value)150U };
            C.AxisId axisId5 = new C.AxisId(){ Val = (UInt32Value)164427248U };
            C.AxisId axisId6 = new C.AxisId(){ Val = (UInt32Value)164427632U };

            barChart2.Append(barDirection2);
            barChart2.Append(barGrouping2);
            barChart2.Append(varyColors4);
            barChart2.Append(barChartSeries2);
            barChart2.Append(dataLabels4);
            barChart2.Append(gapWidth2);
            barChart2.Append(axisId5);
            barChart2.Append(axisId6);

            C.CategoryAxis categoryAxis2 = new C.CategoryAxis();
            C.AxisId axisId7 = new C.AxisId(){ Val = (UInt32Value)164427248U };

            C.Scaling scaling3 = new C.Scaling();
            C.Orientation orientation3 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling3.Append(orientation3);
            C.Delete delete3 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition3 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat3 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark3 = new C.MajorTickMark(){ Val = C.TickMarkValues.Outside };
            C.MinorTickMark minorTickMark3 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition3 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };
            C.CrossingAxis crossingAxis3 = new C.CrossingAxis(){ Val = (UInt32Value)164427632U };
            C.Crosses crosses3 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled2 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment2 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset2 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels2 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis2.Append(axisId7);
            categoryAxis2.Append(scaling3);
            categoryAxis2.Append(delete3);
            categoryAxis2.Append(axisPosition3);
            categoryAxis2.Append(numberingFormat3);
            categoryAxis2.Append(majorTickMark3);
            categoryAxis2.Append(minorTickMark3);
            categoryAxis2.Append(tickLabelPosition3);
            categoryAxis2.Append(crossingAxis3);
            categoryAxis2.Append(crosses3);
            categoryAxis2.Append(autoLabeled2);
            categoryAxis2.Append(labelAlignment2);
            categoryAxis2.Append(labelOffset2);
            categoryAxis2.Append(noMultiLevelLabels2);

            C.ValueAxis valueAxis2 = new C.ValueAxis();
            C.AxisId axisId8 = new C.AxisId(){ Val = (UInt32Value)164427632U };

            C.Scaling scaling4 = new C.Scaling();
            C.Orientation orientation4 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling4.Append(orientation4);
            C.Delete delete4 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition4 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };
            C.MajorGridlines majorGridlines2 = new C.MajorGridlines();
            C.NumberingFormat numberingFormat4 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark4 = new C.MajorTickMark(){ Val = C.TickMarkValues.Outside };
            C.MinorTickMark minorTickMark4 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition4 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };
            C.CrossingAxis crossingAxis4 = new C.CrossingAxis(){ Val = (UInt32Value)164427248U };
            C.Crosses crosses4 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween2 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis2.Append(axisId8);
            valueAxis2.Append(scaling4);
            valueAxis2.Append(delete4);
            valueAxis2.Append(axisPosition4);
            valueAxis2.Append(majorGridlines2);
            valueAxis2.Append(numberingFormat4);
            valueAxis2.Append(majorTickMark4);
            valueAxis2.Append(minorTickMark4);
            valueAxis2.Append(tickLabelPosition4);
            valueAxis2.Append(crossingAxis4);
            valueAxis2.Append(crosses4);
            valueAxis2.Append(crossBetween2);

            plotArea4.Append(layout4);
            plotArea4.Append(barChart2);
            plotArea4.Append(categoryAxis2);
            plotArea4.Append(valueAxis2);

            C.Legend legend4 = new C.Legend();
            C.LegendPosition legendPosition4 = new C.LegendPosition(){ Val = C.LegendPositionValues.Right };
            C.Overlay overlay8 = new C.Overlay(){ Val = false };

            legend4.Append(legendPosition4);
            legend4.Append(overlay8);
            C.PlotVisibleOnly plotVisibleOnly4 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs4 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum4 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart4.Append(title4);
            chart4.Append(autoTitleDeleted4);
            chart4.Append(pivotFormats4);
            chart4.Append(plotArea4);
            chart4.Append(legend4);
            chart4.Append(plotVisibleOnly4);
            chart4.Append(displayBlanksAs4);
            chart4.Append(showDataLabelsOverMaximum4);

            C.PrintSettings printSettings4 = new C.PrintSettings();
            C.HeaderFooter headerFooter4 = new C.HeaderFooter();
            C.PageMargins pageMargins6 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup4 = new C.PageSetup();

            printSettings4.Append(headerFooter4);
            printSettings4.Append(pageMargins6);
            printSettings4.Append(pageSetup4);

            C.ChartSpaceExtensionList chartSpaceExtensionList4 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList4.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList4.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension4 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension4.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions4 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter4 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories4 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData4 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries4 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible4 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions4.Append(dropZoneFilter4);
            pivotOptions4.Append(dropZoneCategories4);
            pivotOptions4.Append(dropZoneData4);
            pivotOptions4.Append(dropZoneSeries4);
            pivotOptions4.Append(dropZonesVisible4);

            chartSpaceExtension4.Append(pivotOptions4);

            chartSpaceExtensionList4.Append(chartSpaceExtension4);

            chartSpace4.Append(date19044);
            chartSpace4.Append(editingLanguage4);
            chartSpace4.Append(roundedCorners4);
            chartSpace4.Append(alternateContent9);
            chartSpace4.Append(pivotSource4);
            chartSpace4.Append(chart4);
            chartSpace4.Append(printSettings4);
            chartSpace4.Append(chartSpaceExtensionList4);

            chartPart4.ChartSpace = chartSpace4;
        }
        // Create Chart in Word document
        public void CreateChart(List <ChartSubArea> chartList)
        {
            // Get MainDocumentPart of Document
            MainDocumentPart mainPart = document.AddMainDocumentPart();

            mainPart.Document = new Document(new Body());

            // Create ChartPart object in Word Document
            ChartPart chartPart = mainPart.AddNewPart <ChartPart>("rId110");

            // the root element of chartPart
            dc.ChartSpace chartSpace = new dc.ChartSpace();
            chartSpace.Append(new dc.EditingLanguage()
            {
                Val = "en-us"
            });

            // Create Chart
            dc.Chart chart = new dc.Chart();
            chart.Append(new dc.AutoTitleDeleted()
            {
                Val = true
            });

            // Define the 3D view
            dc.View3D view3D = new dc.View3D();
            view3D.Append(new dc.RotateX()
            {
                Val = 30
            });
            view3D.Append(new dc.RotateY()
            {
                Val = 0
            });

            // Intiliazes a new instance of the PlotArea class
            dc.PlotArea plotArea = new dc.PlotArea();
            plotArea.Append(new dc.Layout());

            // the type of Chart
            dc.Pie3DChart pie3DChart = new dc.Pie3DChart();
            pie3DChart.Append(new dc.VaryColors()
            {
                Val = true
            });
            dc.PieChartSeries pieChartSers = new dc.PieChartSeries();
            pieChartSers.Append(new dc.Index()
            {
                Val = 0U
            });
            pieChartSers.Append(new dc.Order()
            {
                Val = 0U
            });
            dc.SeriesText seriesText = new dc.SeriesText();
            seriesText.Append(new dc.NumericValue()
            {
                Text = "Series"
            });

            uint   rowcount = 0;
            uint   count    = UInt32.Parse(chartList.Count.ToString());
            string endCell  = (count + 1).ToString();

            dc.ChartShapeProperties chartShapePros = new dc.ChartShapeProperties();

            // Define cell for lable information
            dc.CategoryAxisData cateAxisData = new dc.CategoryAxisData();
            dc.StringReference  stringRef    = new dc.StringReference();
            stringRef.Append(new dc.Formula()
            {
                Text = "Main!$A$2:$A$" + endCell
            });
            dc.StringCache stringCache = new dc.StringCache();
            stringCache.Append(new dc.PointCount()
            {
                Val = count
            });

            // Define cells for value information
            dc.Values          values = new dc.Values();
            dc.NumberReference numRef = new dc.NumberReference();
            numRef.Append(new dc.Formula()
            {
                Text = "Main!$B$2:$B$" + endCell
            });

            dc.NumberingCache numCache = new dc.NumberingCache();
            numCache.Append(new dc.FormatCode()
            {
                Text = "General"
            });
            numCache.Append(new dc.PointCount()
            {
                Val = count
            });

            // Fill data for chart
            foreach (var item in chartList)
            {
                if (count == 0)
                {
                    chartShapePros.Append(new d.SolidFill(new d.SchemeColor()
                    {
                        Val = item.Color
                    }));
                    pieChartSers.Append(chartShapePros);
                }
                else
                {
                    dc.DataPoint dataPoint = new dc.DataPoint();
                    dataPoint.Append(new dc.Index()
                    {
                        Val = rowcount
                    });
                    chartShapePros = new dc.ChartShapeProperties();
                    chartShapePros.Append(new d.SolidFill(new d.SchemeColor()
                    {
                        Val = item.Color
                    }));
                    dataPoint.Append(chartShapePros);
                    pieChartSers.Append(dataPoint);
                }

                dc.StringPoint stringPoint = new dc.StringPoint()
                {
                    Index = rowcount
                };
                stringPoint.Append(new dc.NumericValue()
                {
                    Text = item.Label
                });
                stringCache.Append(stringPoint);

                dc.NumericPoint numericPoint = new dc.NumericPoint()
                {
                    Index = rowcount
                };
                numericPoint.Append(new dc.NumericValue()
                {
                    Text = item.Value
                });
                numCache.Append(numericPoint);
                rowcount++;
            }

            // Create c:cat and c:val element
            stringRef.Append(stringCache);
            cateAxisData.Append(stringRef);
            numRef.Append(numCache);
            values.Append(numRef);

            // Append c:cat and c:val to the end of c:ser element
            pieChartSers.Append(cateAxisData);
            pieChartSers.Append(values);

            // Append c:ser to the end of c:pie3DChart element
            pie3DChart.Append(pieChartSers);

            // Append c:pie3DChart to the end of s:plotArea element
            plotArea.Append(pie3DChart);

            // create child elements of the c:legend element
            dc.Legend legend = new dc.Legend();
            legend.Append(new dc.LegendPosition()
            {
                Val = LegendPositionValues.Right
            });
            dc.Overlay overlay = new dc.Overlay()
            {
                Val = false
            };
            legend.Append(overlay);

            dc.TextProperties textPros = new TextProperties();
            textPros.Append(new d.BodyProperties());
            textPros.Append(new d.ListStyle());

            d.Paragraph                  paragraph       = new d.Paragraph();
            d.ParagraphProperties        paraPros        = new d.ParagraphProperties();
            d.DefaultParagraphProperties defaultParaPros = new d.DefaultParagraphProperties();
            defaultParaPros.Append(new d.LatinFont()
            {
                Typeface = "Arial", PitchFamily = 34, CharacterSet = 0
            });
            defaultParaPros.Append(new d.ComplexScriptFont()
            {
                Typeface = "Arial", PitchFamily = 34, CharacterSet = 0
            });
            paraPros.Append(defaultParaPros);
            paragraph.Append(paraPros);
            paragraph.Append(new d.EndParagraphRunProperties()
            {
                Language = "en-Us"
            });

            textPros.Append(paragraph);
            legend.Append(textPros);

            // Append c:view3D, c:plotArea and c:legend elements to the end of c:chart element
            chart.Append(view3D);
            chart.Append(plotArea);
            chart.Append(legend);

            // Append the c:chart element to the end of c:chartSpace element
            chartSpace.Append(chart);

            // Create c:spPr Elements and fill the child elements of it
            chartShapePros = new dc.ChartShapeProperties();
            d.Outline outline = new d.Outline();
            outline.Append(new d.NoFill());
            chartShapePros.Append(outline);

            // Append c:spPr element to the end of c:chartSpace element
            chartSpace.Append(chartShapePros);

            chartPart.ChartSpace = chartSpace;

            // Generate content of the MainDocumentPart
            GeneratePartContent(mainPart);
        }
        // Generates content of chartPart18.
        private void GenerateChartPart18Content(ChartPart chartPart18)
        {
            C.ChartSpace chartSpace18 = new C.ChartSpace();
            chartSpace18.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace18.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace18.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date190418 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage18 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners18 = new C.RoundedCorners(){ Val = false };

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

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

            alternateContentChoice38.Append(style34);

            AlternateContentFallback alternateContentFallback37 = new AlternateContentFallback();
            C.Style style35 = new C.Style(){ Val = 1 };

            alternateContentFallback37.Append(style35);

            alternateContent38.Append(alternateContentChoice38);
            alternateContent38.Append(alternateContentFallback37);

            C.PivotSource pivotSource18 = new C.PivotSource();
            C.PivotTableName pivotTableName18 = new C.PivotTableName();
            pivotTableName18.Text = "[GeneratedDocument.xlsx]ShowHorizontalScrollbar!PivotTable1";
            C.FormatId formatId18 = new C.FormatId(){ Val = (UInt32Value)15U };

            pivotSource18.Append(pivotTableName18);
            pivotSource18.Append(formatId18);

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

            C.Title title18 = new C.Title();
            C.Overlay overlay35 = new C.Overlay(){ Val = false };

            title18.Append(overlay35);
            C.AutoTitleDeleted autoTitleDeleted18 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats18 = new C.PivotFormats();

            C.PivotFormat pivotFormat160 = new C.PivotFormat();
            C.Index index177 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties72 = new C.ShapeProperties();

            A.SolidFill solidFill139 = new A.SolidFill();

            A.SchemeColor schemeColor109 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint47 = new A.Tint(){ Val = 100000 };

            schemeColor109.Append(tint47);

            solidFill139.Append(schemeColor109);

            A.Outline outline110 = new A.Outline();
            A.NoFill noFill94 = new A.NoFill();

            outline110.Append(noFill94);
            A.EffectList effectList90 = new A.EffectList();

            shapeProperties72.Append(solidFill139);
            shapeProperties72.Append(outline110);
            shapeProperties72.Append(effectList90);

            C.Marker marker160 = new C.Marker();
            C.Symbol symbol160 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker160.Append(symbol160);

            pivotFormat160.Append(index177);
            pivotFormat160.Append(shapeProperties72);
            pivotFormat160.Append(marker160);

            C.PivotFormat pivotFormat161 = new C.PivotFormat();
            C.Index index178 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties73 = new C.ShapeProperties();

            A.SolidFill solidFill140 = new A.SolidFill();

            A.SchemeColor schemeColor110 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint48 = new A.Tint(){ Val = 100000 };

            schemeColor110.Append(tint48);

            solidFill140.Append(schemeColor110);

            A.Outline outline111 = new A.Outline();
            A.NoFill noFill95 = new A.NoFill();

            outline111.Append(noFill95);
            A.EffectList effectList91 = new A.EffectList();

            shapeProperties73.Append(solidFill140);
            shapeProperties73.Append(outline111);
            shapeProperties73.Append(effectList91);

            C.Marker marker161 = new C.Marker();
            C.Symbol symbol161 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker161.Append(symbol161);

            pivotFormat161.Append(index178);
            pivotFormat161.Append(shapeProperties73);
            pivotFormat161.Append(marker161);

            C.PivotFormat pivotFormat162 = new C.PivotFormat();
            C.Index index179 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker162 = new C.Marker();
            C.Symbol symbol162 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker162.Append(symbol162);

            pivotFormat162.Append(index179);
            pivotFormat162.Append(marker162);

            C.PivotFormat pivotFormat163 = new C.PivotFormat();
            C.Index index180 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker163 = new C.Marker();
            C.Symbol symbol163 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker163.Append(symbol163);

            pivotFormat163.Append(index180);
            pivotFormat163.Append(marker163);

            C.PivotFormat pivotFormat164 = new C.PivotFormat();
            C.Index index181 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker164 = new C.Marker();
            C.Symbol symbol164 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker164.Append(symbol164);

            pivotFormat164.Append(index181);
            pivotFormat164.Append(marker164);

            C.PivotFormat pivotFormat165 = new C.PivotFormat();
            C.Index index182 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker165 = new C.Marker();
            C.Symbol symbol165 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker165.Append(symbol165);

            pivotFormat165.Append(index182);
            pivotFormat165.Append(marker165);

            C.PivotFormat pivotFormat166 = new C.PivotFormat();
            C.Index index183 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker166 = new C.Marker();
            C.Symbol symbol166 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker166.Append(symbol166);

            pivotFormat166.Append(index183);
            pivotFormat166.Append(marker166);

            C.PivotFormat pivotFormat167 = new C.PivotFormat();
            C.Index index184 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker167 = new C.Marker();
            C.Symbol symbol167 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker167.Append(symbol167);

            pivotFormat167.Append(index184);
            pivotFormat167.Append(marker167);

            C.PivotFormat pivotFormat168 = new C.PivotFormat();
            C.Index index185 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker168 = new C.Marker();
            C.Symbol symbol168 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker168.Append(symbol168);

            pivotFormat168.Append(index185);
            pivotFormat168.Append(marker168);

            C.PivotFormat pivotFormat169 = new C.PivotFormat();
            C.Index index186 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker169 = new C.Marker();
            C.Symbol symbol169 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker169.Append(symbol169);

            pivotFormat169.Append(index186);
            pivotFormat169.Append(marker169);

            C.PivotFormat pivotFormat170 = new C.PivotFormat();
            C.Index index187 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker170 = new C.Marker();
            C.Symbol symbol170 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker170.Append(symbol170);

            pivotFormat170.Append(index187);
            pivotFormat170.Append(marker170);

            C.PivotFormat pivotFormat171 = new C.PivotFormat();
            C.Index index188 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker171 = new C.Marker();
            C.Symbol symbol171 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker171.Append(symbol171);

            pivotFormat171.Append(index188);
            pivotFormat171.Append(marker171);

            C.PivotFormat pivotFormat172 = new C.PivotFormat();
            C.Index index189 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker172 = new C.Marker();
            C.Symbol symbol172 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker172.Append(symbol172);

            pivotFormat172.Append(index189);
            pivotFormat172.Append(marker172);

            C.PivotFormat pivotFormat173 = new C.PivotFormat();
            C.Index index190 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker173 = new C.Marker();
            C.Symbol symbol173 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker173.Append(symbol173);

            pivotFormat173.Append(index190);
            pivotFormat173.Append(marker173);

            C.PivotFormat pivotFormat174 = new C.PivotFormat();
            C.Index index191 = new C.Index(){ Val = (UInt32Value)14U };

            C.ShapeProperties shapeProperties74 = new C.ShapeProperties();

            A.SolidFill solidFill141 = new A.SolidFill();

            A.SchemeColor schemeColor111 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint49 = new A.Tint(){ Val = 100000 };

            schemeColor111.Append(tint49);

            solidFill141.Append(schemeColor111);

            A.Outline outline112 = new A.Outline();
            A.NoFill noFill96 = new A.NoFill();

            outline112.Append(noFill96);
            A.EffectList effectList92 = new A.EffectList();

            shapeProperties74.Append(solidFill141);
            shapeProperties74.Append(outline112);
            shapeProperties74.Append(effectList92);

            C.Marker marker174 = new C.Marker();
            C.Symbol symbol174 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker174.Append(symbol174);

            pivotFormat174.Append(index191);
            pivotFormat174.Append(shapeProperties74);
            pivotFormat174.Append(marker174);

            C.PivotFormat pivotFormat175 = new C.PivotFormat();
            C.Index index192 = new C.Index(){ Val = (UInt32Value)15U };

            C.ShapeProperties shapeProperties75 = new C.ShapeProperties();

            A.SolidFill solidFill142 = new A.SolidFill();

            A.SchemeColor schemeColor112 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint50 = new A.Tint(){ Val = 100000 };

            schemeColor112.Append(tint50);

            solidFill142.Append(schemeColor112);

            A.Outline outline113 = new A.Outline();
            A.NoFill noFill97 = new A.NoFill();

            outline113.Append(noFill97);
            A.EffectList effectList93 = new A.EffectList();

            shapeProperties75.Append(solidFill142);
            shapeProperties75.Append(outline113);
            shapeProperties75.Append(effectList93);

            C.Marker marker175 = new C.Marker();
            C.Symbol symbol175 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker175.Append(symbol175);

            pivotFormat175.Append(index192);
            pivotFormat175.Append(shapeProperties75);
            pivotFormat175.Append(marker175);

            C.PivotFormat pivotFormat176 = new C.PivotFormat();
            C.Index index193 = new C.Index(){ Val = (UInt32Value)16U };

            C.ShapeProperties shapeProperties76 = new C.ShapeProperties();

            A.SolidFill solidFill143 = new A.SolidFill();

            A.SchemeColor schemeColor113 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint51 = new A.Tint(){ Val = 100000 };

            schemeColor113.Append(tint51);

            solidFill143.Append(schemeColor113);

            A.Outline outline114 = new A.Outline();
            A.NoFill noFill98 = new A.NoFill();

            outline114.Append(noFill98);
            A.EffectList effectList94 = new A.EffectList();

            shapeProperties76.Append(solidFill143);
            shapeProperties76.Append(outline114);
            shapeProperties76.Append(effectList94);

            C.Marker marker176 = new C.Marker();
            C.Symbol symbol176 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker176.Append(symbol176);

            pivotFormat176.Append(index193);
            pivotFormat176.Append(shapeProperties76);
            pivotFormat176.Append(marker176);

            C.PivotFormat pivotFormat177 = new C.PivotFormat();
            C.Index index194 = new C.Index(){ Val = (UInt32Value)17U };

            C.ShapeProperties shapeProperties77 = new C.ShapeProperties();

            A.SolidFill solidFill144 = new A.SolidFill();

            A.SchemeColor schemeColor114 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint52 = new A.Tint(){ Val = 100000 };

            schemeColor114.Append(tint52);

            solidFill144.Append(schemeColor114);

            A.Outline outline115 = new A.Outline();
            A.NoFill noFill99 = new A.NoFill();

            outline115.Append(noFill99);
            A.EffectList effectList95 = new A.EffectList();

            shapeProperties77.Append(solidFill144);
            shapeProperties77.Append(outline115);
            shapeProperties77.Append(effectList95);

            C.Marker marker177 = new C.Marker();
            C.Symbol symbol177 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker177.Append(symbol177);

            pivotFormat177.Append(index194);
            pivotFormat177.Append(shapeProperties77);
            pivotFormat177.Append(marker177);

            C.PivotFormat pivotFormat178 = new C.PivotFormat();
            C.Index index195 = new C.Index(){ Val = (UInt32Value)18U };

            C.ShapeProperties shapeProperties78 = new C.ShapeProperties();

            A.SolidFill solidFill145 = new A.SolidFill();

            A.SchemeColor schemeColor115 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint53 = new A.Tint(){ Val = 100000 };

            schemeColor115.Append(tint53);

            solidFill145.Append(schemeColor115);

            A.Outline outline116 = new A.Outline();
            A.NoFill noFill100 = new A.NoFill();

            outline116.Append(noFill100);
            A.EffectList effectList96 = new A.EffectList();

            shapeProperties78.Append(solidFill145);
            shapeProperties78.Append(outline116);
            shapeProperties78.Append(effectList96);

            C.Marker marker178 = new C.Marker();
            C.Symbol symbol178 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker178.Append(symbol178);

            pivotFormat178.Append(index195);
            pivotFormat178.Append(shapeProperties78);
            pivotFormat178.Append(marker178);

            pivotFormats18.Append(pivotFormat160);
            pivotFormats18.Append(pivotFormat161);
            pivotFormats18.Append(pivotFormat162);
            pivotFormats18.Append(pivotFormat163);
            pivotFormats18.Append(pivotFormat164);
            pivotFormats18.Append(pivotFormat165);
            pivotFormats18.Append(pivotFormat166);
            pivotFormats18.Append(pivotFormat167);
            pivotFormats18.Append(pivotFormat168);
            pivotFormats18.Append(pivotFormat169);
            pivotFormats18.Append(pivotFormat170);
            pivotFormats18.Append(pivotFormat171);
            pivotFormats18.Append(pivotFormat172);
            pivotFormats18.Append(pivotFormat173);
            pivotFormats18.Append(pivotFormat174);
            pivotFormats18.Append(pivotFormat175);
            pivotFormats18.Append(pivotFormat176);
            pivotFormats18.Append(pivotFormat177);
            pivotFormats18.Append(pivotFormat178);

            C.PlotArea plotArea18 = new C.PlotArea();
            C.Layout layout18 = new C.Layout();

            C.BarChart barChart9 = new C.BarChart();
            C.BarDirection barDirection9 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping9 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors18 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries9 = new C.BarChartSeries();
            C.Index index196 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order18 = new C.Order(){ Val = (UInt32Value)0U };

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

            C.StringReference stringReference35 = new C.StringReference();
            C.Formula formula52 = new C.Formula();
            formula52.Text = "ShowHorizontalScrollbar!$B$1";

            C.StringCache stringCache35 = new C.StringCache();
            C.PointCount pointCount52 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint69 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue120 = new C.NumericValue();
            numericValue120.Text = "Total";

            stringPoint69.Append(numericValue120);

            stringCache35.Append(pointCount52);
            stringCache35.Append(stringPoint69);

            stringReference35.Append(formula52);
            stringReference35.Append(stringCache35);

            seriesText18.Append(stringReference35);

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

            A.SolidFill solidFill146 = new A.SolidFill();

            A.SchemeColor schemeColor116 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint54 = new A.Tint(){ Val = 100000 };

            schemeColor116.Append(tint54);

            solidFill146.Append(schemeColor116);

            A.Outline outline117 = new A.Outline();
            A.NoFill noFill101 = new A.NoFill();

            outline117.Append(noFill101);
            A.EffectList effectList97 = new A.EffectList();

            chartShapeProperties36.Append(solidFill146);
            chartShapeProperties36.Append(outline117);
            chartShapeProperties36.Append(effectList97);
            C.InvertIfNegative invertIfNegative9 = new C.InvertIfNegative(){ Val = false };

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

            C.StringReference stringReference36 = new C.StringReference();
            C.Formula formula53 = new C.Formula();
            formula53.Text = "ShowHorizontalScrollbar!$A$2:$A$5";

            C.StringCache stringCache36 = new C.StringCache();
            C.PointCount pointCount53 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint70 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue121 = new C.NumericValue();
            numericValue121.Text = "product_A";

            stringPoint70.Append(numericValue121);

            C.StringPoint stringPoint71 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue122 = new C.NumericValue();
            numericValue122.Text = "product_D";

            stringPoint71.Append(numericValue122);

            C.StringPoint stringPoint72 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue123 = new C.NumericValue();
            numericValue123.Text = "product_E";

            stringPoint72.Append(numericValue123);

            stringCache36.Append(pointCount53);
            stringCache36.Append(stringPoint70);
            stringCache36.Append(stringPoint71);
            stringCache36.Append(stringPoint72);

            stringReference36.Append(formula53);
            stringReference36.Append(stringCache36);

            categoryAxisData18.Append(stringReference36);

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

            C.NumberReference numberReference18 = new C.NumberReference();
            C.Formula formula54 = new C.Formula();
            formula54.Text = "ShowHorizontalScrollbar!$B$2:$B$5";

            C.NumberingCache numberingCache18 = new C.NumberingCache();
            C.FormatCode formatCode18 = new C.FormatCode();
            formatCode18.Text = "General";
            C.PointCount pointCount54 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint52 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue124 = new C.NumericValue();
            numericValue124.Text = "19";

            numericPoint52.Append(numericValue124);

            C.NumericPoint numericPoint53 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue125 = new C.NumericValue();
            numericValue125.Text = "13";

            numericPoint53.Append(numericValue125);

            C.NumericPoint numericPoint54 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue126 = new C.NumericValue();
            numericValue126.Text = "33";

            numericPoint54.Append(numericValue126);

            numberingCache18.Append(formatCode18);
            numberingCache18.Append(pointCount54);
            numberingCache18.Append(numericPoint52);
            numberingCache18.Append(numericPoint53);
            numberingCache18.Append(numericPoint54);

            numberReference18.Append(formula54);
            numberReference18.Append(numberingCache18);

            values18.Append(numberReference18);

            barChartSeries9.Append(index196);
            barChartSeries9.Append(order18);
            barChartSeries9.Append(seriesText18);
            barChartSeries9.Append(chartShapeProperties36);
            barChartSeries9.Append(invertIfNegative9);
            barChartSeries9.Append(categoryAxisData18);
            barChartSeries9.Append(values18);

            C.DataLabels dataLabels18 = new C.DataLabels();
            C.ShowLegendKey showLegendKey18 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue18 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName18 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName18 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent18 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize18 = new C.ShowBubbleSize(){ Val = false };

            dataLabels18.Append(showLegendKey18);
            dataLabels18.Append(showValue18);
            dataLabels18.Append(showCategoryName18);
            dataLabels18.Append(showSeriesName18);
            dataLabels18.Append(showPercent18);
            dataLabels18.Append(showBubbleSize18);
            C.GapWidth gapWidth9 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap8 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId33 = new C.AxisId(){ Val = (UInt32Value)209982688U };
            C.AxisId axisId34 = new C.AxisId(){ Val = (UInt32Value)208839816U };

            barChart9.Append(barDirection9);
            barChart9.Append(barGrouping9);
            barChart9.Append(varyColors18);
            barChart9.Append(barChartSeries9);
            barChart9.Append(dataLabels18);
            barChart9.Append(gapWidth9);
            barChart9.Append(overlap8);
            barChart9.Append(axisId33);
            barChart9.Append(axisId34);

            C.CategoryAxis categoryAxis9 = new C.CategoryAxis();
            C.AxisId axisId35 = new C.AxisId(){ Val = (UInt32Value)209982688U };

            C.Scaling scaling17 = new C.Scaling();
            C.Orientation orientation17 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling17.Append(orientation17);
            C.Delete delete17 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition17 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat28 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark17 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark17 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition17 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties37 = new C.ChartShapeProperties();
            A.NoFill noFill102 = new A.NoFill();

            A.Outline outline118 = new A.Outline();
            A.NoFill noFill103 = new A.NoFill();

            outline118.Append(noFill103);
            A.EffectList effectList98 = new A.EffectList();

            chartShapeProperties37.Append(noFill102);
            chartShapeProperties37.Append(outline118);
            chartShapeProperties37.Append(effectList98);

            C.TextProperties textProperties29 = new C.TextProperties();
            A.BodyProperties bodyProperties49 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle49 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties29 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties29 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill147 = new A.SolidFill();

            A.SchemeColor schemeColor117 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation42 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset36 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor117.Append(luminanceModulation42);
            schemeColor117.Append(luminanceOffset36);

            solidFill147.Append(schemeColor117);
            A.LatinFont latinFont24 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont24 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont24 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties29.Append(solidFill147);
            defaultRunProperties29.Append(latinFont24);
            defaultRunProperties29.Append(eastAsianFont24);
            defaultRunProperties29.Append(complexScriptFont24);

            paragraphProperties29.Append(defaultRunProperties29);
            A.EndParagraphRunProperties endParagraphRunProperties29 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph49.Append(paragraphProperties29);
            paragraph49.Append(endParagraphRunProperties29);

            textProperties29.Append(bodyProperties49);
            textProperties29.Append(listStyle49);
            textProperties29.Append(paragraph49);
            C.CrossingAxis crossingAxis17 = new C.CrossingAxis(){ Val = (UInt32Value)208839816U };
            C.Crosses crosses17 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled9 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment9 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset9 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels9 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis9.Append(axisId35);
            categoryAxis9.Append(scaling17);
            categoryAxis9.Append(delete17);
            categoryAxis9.Append(axisPosition17);
            categoryAxis9.Append(numberingFormat28);
            categoryAxis9.Append(majorTickMark17);
            categoryAxis9.Append(minorTickMark17);
            categoryAxis9.Append(tickLabelPosition17);
            categoryAxis9.Append(chartShapeProperties37);
            categoryAxis9.Append(textProperties29);
            categoryAxis9.Append(crossingAxis17);
            categoryAxis9.Append(crosses17);
            categoryAxis9.Append(autoLabeled9);
            categoryAxis9.Append(labelAlignment9);
            categoryAxis9.Append(labelOffset9);
            categoryAxis9.Append(noMultiLevelLabels9);

            C.ValueAxis valueAxis9 = new C.ValueAxis();
            C.AxisId axisId36 = new C.AxisId(){ Val = (UInt32Value)208839816U };

            C.Scaling scaling18 = new C.Scaling();
            C.Orientation orientation18 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling18.Append(orientation18);
            C.Delete delete18 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition18 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

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

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

            A.Outline outline119 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill148 = new A.SolidFill();

            A.SchemeColor schemeColor118 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation43 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset37 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor118.Append(luminanceModulation43);
            schemeColor118.Append(luminanceOffset37);

            solidFill148.Append(schemeColor118);
            A.Round round15 = new A.Round();

            outline119.Append(solidFill148);
            outline119.Append(round15);
            A.EffectList effectList99 = new A.EffectList();

            chartShapeProperties38.Append(outline119);
            chartShapeProperties38.Append(effectList99);

            majorGridlines9.Append(chartShapeProperties38);
            C.NumberingFormat numberingFormat29 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark18 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark18 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition18 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties39 = new C.ChartShapeProperties();
            A.NoFill noFill104 = new A.NoFill();

            A.Outline outline120 = new A.Outline();
            A.NoFill noFill105 = new A.NoFill();

            outline120.Append(noFill105);
            A.EffectList effectList100 = new A.EffectList();

            chartShapeProperties39.Append(noFill104);
            chartShapeProperties39.Append(outline120);
            chartShapeProperties39.Append(effectList100);

            C.TextProperties textProperties30 = new C.TextProperties();
            A.BodyProperties bodyProperties50 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle50 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties30 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties30 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill149 = new A.SolidFill();

            A.SchemeColor schemeColor119 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation44 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset38 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor119.Append(luminanceModulation44);
            schemeColor119.Append(luminanceOffset38);

            solidFill149.Append(schemeColor119);
            A.LatinFont latinFont25 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont25 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont25 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties30.Append(solidFill149);
            defaultRunProperties30.Append(latinFont25);
            defaultRunProperties30.Append(eastAsianFont25);
            defaultRunProperties30.Append(complexScriptFont25);

            paragraphProperties30.Append(defaultRunProperties30);
            A.EndParagraphRunProperties endParagraphRunProperties30 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph50.Append(paragraphProperties30);
            paragraph50.Append(endParagraphRunProperties30);

            textProperties30.Append(bodyProperties50);
            textProperties30.Append(listStyle50);
            textProperties30.Append(paragraph50);
            C.CrossingAxis crossingAxis18 = new C.CrossingAxis(){ Val = (UInt32Value)209982688U };
            C.Crosses crosses18 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween9 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis9.Append(axisId36);
            valueAxis9.Append(scaling18);
            valueAxis9.Append(delete18);
            valueAxis9.Append(axisPosition18);
            valueAxis9.Append(majorGridlines9);
            valueAxis9.Append(numberingFormat29);
            valueAxis9.Append(majorTickMark18);
            valueAxis9.Append(minorTickMark18);
            valueAxis9.Append(tickLabelPosition18);
            valueAxis9.Append(chartShapeProperties39);
            valueAxis9.Append(textProperties30);
            valueAxis9.Append(crossingAxis18);
            valueAxis9.Append(crosses18);
            valueAxis9.Append(crossBetween9);

            C.ShapeProperties shapeProperties79 = new C.ShapeProperties();

            A.SolidFill solidFill150 = new A.SolidFill();
            A.SchemeColor schemeColor120 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill150.Append(schemeColor120);

            A.Outline outline121 = new A.Outline();
            A.NoFill noFill106 = new A.NoFill();

            outline121.Append(noFill106);
            A.EffectList effectList101 = new A.EffectList();

            shapeProperties79.Append(solidFill150);
            shapeProperties79.Append(outline121);
            shapeProperties79.Append(effectList101);

            plotArea18.Append(layout18);
            plotArea18.Append(barChart9);
            plotArea18.Append(categoryAxis9);
            plotArea18.Append(valueAxis9);
            plotArea18.Append(shapeProperties79);

            C.Legend legend18 = new C.Legend();
            C.LegendPosition legendPosition18 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay36 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties40 = new C.ChartShapeProperties();
            A.NoFill noFill107 = new A.NoFill();

            A.Outline outline122 = new A.Outline();
            A.NoFill noFill108 = new A.NoFill();

            outline122.Append(noFill108);
            A.EffectList effectList102 = new A.EffectList();

            chartShapeProperties40.Append(noFill107);
            chartShapeProperties40.Append(outline122);
            chartShapeProperties40.Append(effectList102);

            C.TextProperties textProperties31 = new C.TextProperties();
            A.BodyProperties bodyProperties51 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle51 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties31 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties31 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill151 = new A.SolidFill();

            A.SchemeColor schemeColor121 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation45 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset39 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor121.Append(luminanceModulation45);
            schemeColor121.Append(luminanceOffset39);

            solidFill151.Append(schemeColor121);
            A.LatinFont latinFont26 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont26 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont26 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties31.Append(solidFill151);
            defaultRunProperties31.Append(latinFont26);
            defaultRunProperties31.Append(eastAsianFont26);
            defaultRunProperties31.Append(complexScriptFont26);

            paragraphProperties31.Append(defaultRunProperties31);
            A.EndParagraphRunProperties endParagraphRunProperties31 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph51.Append(paragraphProperties31);
            paragraph51.Append(endParagraphRunProperties31);

            textProperties31.Append(bodyProperties51);
            textProperties31.Append(listStyle51);
            textProperties31.Append(paragraph51);

            legend18.Append(legendPosition18);
            legend18.Append(overlay36);
            legend18.Append(chartShapeProperties40);
            legend18.Append(textProperties31);
            C.PlotVisibleOnly plotVisibleOnly18 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs18 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum18 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart18.Append(title18);
            chart18.Append(autoTitleDeleted18);
            chart18.Append(pivotFormats18);
            chart18.Append(plotArea18);
            chart18.Append(legend18);
            chart18.Append(plotVisibleOnly18);
            chart18.Append(displayBlanksAs18);
            chart18.Append(showDataLabelsOverMaximum18);

            C.ShapeProperties shapeProperties80 = new C.ShapeProperties();

            A.SolidFill solidFill152 = new A.SolidFill();
            A.SchemeColor schemeColor122 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill152.Append(schemeColor122);

            A.Outline outline123 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill153 = new A.SolidFill();

            A.SchemeColor schemeColor123 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation46 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset40 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor123.Append(luminanceModulation46);
            schemeColor123.Append(luminanceOffset40);

            solidFill153.Append(schemeColor123);
            A.Round round16 = new A.Round();

            outline123.Append(solidFill153);
            outline123.Append(round16);
            A.EffectList effectList103 = new A.EffectList();

            shapeProperties80.Append(solidFill152);
            shapeProperties80.Append(outline123);
            shapeProperties80.Append(effectList103);

            C.TextProperties textProperties32 = new C.TextProperties();
            A.BodyProperties bodyProperties52 = new A.BodyProperties();
            A.ListStyle listStyle52 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties32 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties32 = new A.DefaultRunProperties();

            paragraphProperties32.Append(defaultRunProperties32);
            A.EndParagraphRunProperties endParagraphRunProperties32 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph52.Append(paragraphProperties32);
            paragraph52.Append(endParagraphRunProperties32);

            textProperties32.Append(bodyProperties52);
            textProperties32.Append(listStyle52);
            textProperties32.Append(paragraph52);

            C.PrintSettings printSettings18 = new C.PrintSettings();
            C.HeaderFooter headerFooter18 = new C.HeaderFooter();
            C.PageMargins pageMargins29 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup18 = new C.PageSetup();

            printSettings18.Append(headerFooter18);
            printSettings18.Append(pageMargins29);
            printSettings18.Append(pageSetup18);

            C.ChartSpaceExtensionList chartSpaceExtensionList18 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList18.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList18.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension18 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension18.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions18 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter18 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories18 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData18 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries18 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible18 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions18.Append(dropZoneFilter18);
            pivotOptions18.Append(dropZoneCategories18);
            pivotOptions18.Append(dropZoneData18);
            pivotOptions18.Append(dropZoneSeries18);
            pivotOptions18.Append(dropZonesVisible18);

            chartSpaceExtension18.Append(pivotOptions18);

            chartSpaceExtensionList18.Append(chartSpaceExtension18);

            chartSpace18.Append(date190418);
            chartSpace18.Append(editingLanguage18);
            chartSpace18.Append(roundedCorners18);
            chartSpace18.Append(alternateContent38);
            chartSpace18.Append(pivotSource18);
            chartSpace18.Append(chart18);
            chartSpace18.Append(shapeProperties80);
            chartSpace18.Append(textProperties32);
            chartSpace18.Append(printSettings18);
            chartSpace18.Append(chartSpaceExtensionList18);

            chartPart18.ChartSpace = chartSpace18;
        }
        // Generates content of chartPart3.
        private void GenerateChartPart3Content(ChartPart chartPart3)
        {
            C.ChartSpace chartSpace3 = new C.ChartSpace();
            chartSpace3.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace3.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace3.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19043 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage3 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners3 = new C.RoundedCorners(){ Val = false };

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

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

            alternateContentChoice8.Append(style5);

            AlternateContentFallback alternateContentFallback7 = new AlternateContentFallback();
            C.Style style6 = new C.Style(){ Val = 2 };

            alternateContentFallback7.Append(style6);

            alternateContent8.Append(alternateContentChoice8);
            alternateContent8.Append(alternateContentFallback7);

            C.PivotSource pivotSource3 = new C.PivotSource();
            C.PivotTableName pivotTableName3 = new C.PivotTableName();
            pivotTableName3.Text = "[GeneratedDocument.xlsx]Cache!PivotTable1";
            C.FormatId formatId3 = new C.FormatId(){ Val = (UInt32Value)1U };

            pivotSource3.Append(pivotTableName3);
            pivotSource3.Append(formatId3);

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

            C.Title title3 = new C.Title();
            C.Overlay overlay5 = new C.Overlay(){ Val = false };

            title3.Append(overlay5);
            C.AutoTitleDeleted autoTitleDeleted3 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats3 = new C.PivotFormats();

            C.PivotFormat pivotFormat24 = new C.PivotFormat();
            C.Index index26 = new C.Index(){ Val = (UInt32Value)0U };

            C.Marker marker24 = new C.Marker();
            C.Symbol symbol24 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker24.Append(symbol24);

            pivotFormat24.Append(index26);
            pivotFormat24.Append(marker24);

            pivotFormats3.Append(pivotFormat24);

            C.PlotArea plotArea3 = new C.PlotArea();
            C.Layout layout3 = new C.Layout();

            C.PieChart pieChart2 = new C.PieChart();
            C.VaryColors varyColors3 = new C.VaryColors(){ Val = true };

            C.PieChartSeries pieChartSeries2 = new C.PieChartSeries();
            C.Index index27 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order3 = new C.Order(){ Val = (UInt32Value)0U };

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

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

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

            C.StringPoint stringPoint9 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue15 = new C.NumericValue();
            numericValue15.Text = "Total";

            stringPoint9.Append(numericValue15);

            stringCache5.Append(pointCount7);
            stringCache5.Append(stringPoint9);

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

            seriesText3.Append(stringReference5);

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

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

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

            C.StringPoint stringPoint10 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue16 = new C.NumericValue();
            numericValue16.Text = "product_C";

            stringPoint10.Append(numericValue16);

            C.StringPoint stringPoint11 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue17 = new C.NumericValue();
            numericValue17.Text = "product_F";

            stringPoint11.Append(numericValue17);

            C.StringPoint stringPoint12 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue18 = new C.NumericValue();
            numericValue18.Text = "product_G";

            stringPoint12.Append(numericValue18);

            stringCache6.Append(pointCount8);
            stringCache6.Append(stringPoint10);
            stringCache6.Append(stringPoint11);
            stringCache6.Append(stringPoint12);

            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 = "Cache!$B$2:$B$5";

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

            C.NumericPoint numericPoint7 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue19 = new C.NumericValue();
            numericValue19.Text = "2050";

            numericPoint7.Append(numericValue19);

            C.NumericPoint numericPoint8 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue20 = new C.NumericValue();
            numericValue20.Text = "3168";

            numericPoint8.Append(numericValue20);

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

            numericPoint9.Append(numericValue21);

            numberingCache3.Append(formatCode3);
            numberingCache3.Append(pointCount9);
            numberingCache3.Append(numericPoint7);
            numberingCache3.Append(numericPoint8);
            numberingCache3.Append(numericPoint9);

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

            values3.Append(numberReference3);

            pieChartSeries2.Append(index27);
            pieChartSeries2.Append(order3);
            pieChartSeries2.Append(seriesText3);
            pieChartSeries2.Append(categoryAxisData3);
            pieChartSeries2.Append(values3);

            C.DataLabels dataLabels3 = new C.DataLabels();
            C.ShowLegendKey showLegendKey3 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue3 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName3 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName3 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent3 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize3 = new C.ShowBubbleSize(){ Val = false };
            C.ShowLeaderLines showLeaderLines2 = new C.ShowLeaderLines(){ Val = true };

            dataLabels3.Append(showLegendKey3);
            dataLabels3.Append(showValue3);
            dataLabels3.Append(showCategoryName3);
            dataLabels3.Append(showSeriesName3);
            dataLabels3.Append(showPercent3);
            dataLabels3.Append(showBubbleSize3);
            dataLabels3.Append(showLeaderLines2);
            C.FirstSliceAngle firstSliceAngle2 = new C.FirstSliceAngle(){ Val = (UInt16Value)0U };

            pieChart2.Append(varyColors3);
            pieChart2.Append(pieChartSeries2);
            pieChart2.Append(dataLabels3);
            pieChart2.Append(firstSliceAngle2);

            plotArea3.Append(layout3);
            plotArea3.Append(pieChart2);

            C.Legend legend3 = new C.Legend();
            C.LegendPosition legendPosition3 = new C.LegendPosition(){ Val = C.LegendPositionValues.Right };
            C.Overlay overlay6 = new C.Overlay(){ Val = false };

            legend3.Append(legendPosition3);
            legend3.Append(overlay6);
            C.PlotVisibleOnly plotVisibleOnly3 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs3 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum3 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart3.Append(title3);
            chart3.Append(autoTitleDeleted3);
            chart3.Append(pivotFormats3);
            chart3.Append(plotArea3);
            chart3.Append(legend3);
            chart3.Append(plotVisibleOnly3);
            chart3.Append(displayBlanksAs3);
            chart3.Append(showDataLabelsOverMaximum3);

            C.PrintSettings printSettings3 = new C.PrintSettings();
            C.HeaderFooter headerFooter3 = new C.HeaderFooter();
            C.PageMargins pageMargins5 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup3 = new C.PageSetup();

            printSettings3.Append(headerFooter3);
            printSettings3.Append(pageMargins5);
            printSettings3.Append(pageSetup3);

            C.ChartSpaceExtensionList chartSpaceExtensionList3 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList3.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList3.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension3 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension3.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions3 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter3 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories3 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData3 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries3 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible3 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions3.Append(dropZoneFilter3);
            pivotOptions3.Append(dropZoneCategories3);
            pivotOptions3.Append(dropZoneData3);
            pivotOptions3.Append(dropZoneSeries3);
            pivotOptions3.Append(dropZonesVisible3);

            chartSpaceExtension3.Append(pivotOptions3);

            chartSpaceExtensionList3.Append(chartSpaceExtension3);

            chartSpace3.Append(date19043);
            chartSpace3.Append(editingLanguage3);
            chartSpace3.Append(roundedCorners3);
            chartSpace3.Append(alternateContent8);
            chartSpace3.Append(pivotSource3);
            chartSpace3.Append(chart3);
            chartSpace3.Append(printSettings3);
            chartSpace3.Append(chartSpaceExtensionList3);

            chartPart3.ChartSpace = chartSpace3;
        }
        // Generates content of chartPart17.
        private void GenerateChartPart17Content(ChartPart chartPart17)
        {
            C.ChartSpace chartSpace17 = new C.ChartSpace();
            chartSpace17.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace17.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace17.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date190417 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage17 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners17 = new C.RoundedCorners(){ Val = false };

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

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

            alternateContentChoice37.Append(style32);

            AlternateContentFallback alternateContentFallback36 = new AlternateContentFallback();
            C.Style style33 = new C.Style(){ Val = 2 };

            alternateContentFallback36.Append(style33);

            alternateContent37.Append(alternateContentChoice37);
            alternateContent37.Append(alternateContentFallback36);

            C.PivotSource pivotSource17 = new C.PivotSource();
            C.PivotTableName pivotTableName17 = new C.PivotTableName();
            pivotTableName17.Text = "[GeneratedDocument.xlsx]ShowHorizontalScrollbar!PivotTable1";
            C.FormatId formatId17 = new C.FormatId(){ Val = (UInt32Value)16U };

            pivotSource17.Append(pivotTableName17);
            pivotSource17.Append(formatId17);

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

            C.Title title17 = new C.Title();
            C.Overlay overlay33 = new C.Overlay(){ Val = false };

            title17.Append(overlay33);
            C.AutoTitleDeleted autoTitleDeleted17 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats17 = new C.PivotFormats();

            C.PivotFormat pivotFormat154 = new C.PivotFormat();
            C.Index index170 = new C.Index(){ Val = (UInt32Value)0U };

            C.Marker marker154 = new C.Marker();
            C.Symbol symbol154 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker154.Append(symbol154);

            pivotFormat154.Append(index170);
            pivotFormat154.Append(marker154);

            C.PivotFormat pivotFormat155 = new C.PivotFormat();
            C.Index index171 = new C.Index(){ Val = (UInt32Value)1U };

            C.Marker marker155 = new C.Marker();
            C.Symbol symbol155 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker155.Append(symbol155);

            pivotFormat155.Append(index171);
            pivotFormat155.Append(marker155);

            C.PivotFormat pivotFormat156 = new C.PivotFormat();
            C.Index index172 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker156 = new C.Marker();
            C.Symbol symbol156 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker156.Append(symbol156);

            pivotFormat156.Append(index172);
            pivotFormat156.Append(marker156);

            C.PivotFormat pivotFormat157 = new C.PivotFormat();
            C.Index index173 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker157 = new C.Marker();
            C.Symbol symbol157 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker157.Append(symbol157);

            pivotFormat157.Append(index173);
            pivotFormat157.Append(marker157);

            C.PivotFormat pivotFormat158 = new C.PivotFormat();
            C.Index index174 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker158 = new C.Marker();
            C.Symbol symbol158 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker158.Append(symbol158);

            pivotFormat158.Append(index174);
            pivotFormat158.Append(marker158);

            C.PivotFormat pivotFormat159 = new C.PivotFormat();
            C.Index index175 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker159 = new C.Marker();
            C.Symbol symbol159 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker159.Append(symbol159);

            pivotFormat159.Append(index175);
            pivotFormat159.Append(marker159);

            pivotFormats17.Append(pivotFormat154);
            pivotFormats17.Append(pivotFormat155);
            pivotFormats17.Append(pivotFormat156);
            pivotFormats17.Append(pivotFormat157);
            pivotFormats17.Append(pivotFormat158);
            pivotFormats17.Append(pivotFormat159);

            C.PlotArea plotArea17 = new C.PlotArea();
            C.Layout layout17 = new C.Layout();

            C.PieChart pieChart9 = new C.PieChart();
            C.VaryColors varyColors17 = new C.VaryColors(){ Val = true };

            C.PieChartSeries pieChartSeries9 = new C.PieChartSeries();
            C.Index index176 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order17 = new C.Order(){ Val = (UInt32Value)0U };

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

            C.StringReference stringReference33 = new C.StringReference();
            C.Formula formula49 = new C.Formula();
            formula49.Text = "ShowHorizontalScrollbar!$B$1";

            C.StringCache stringCache33 = new C.StringCache();
            C.PointCount pointCount49 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint65 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue113 = new C.NumericValue();
            numericValue113.Text = "Total";

            stringPoint65.Append(numericValue113);

            stringCache33.Append(pointCount49);
            stringCache33.Append(stringPoint65);

            stringReference33.Append(formula49);
            stringReference33.Append(stringCache33);

            seriesText17.Append(stringReference33);

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

            C.StringReference stringReference34 = new C.StringReference();
            C.Formula formula50 = new C.Formula();
            formula50.Text = "ShowHorizontalScrollbar!$A$2:$A$5";

            C.StringCache stringCache34 = new C.StringCache();
            C.PointCount pointCount50 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint66 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue114 = new C.NumericValue();
            numericValue114.Text = "product_A";

            stringPoint66.Append(numericValue114);

            C.StringPoint stringPoint67 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue115 = new C.NumericValue();
            numericValue115.Text = "product_D";

            stringPoint67.Append(numericValue115);

            C.StringPoint stringPoint68 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue116 = new C.NumericValue();
            numericValue116.Text = "product_E";

            stringPoint68.Append(numericValue116);

            stringCache34.Append(pointCount50);
            stringCache34.Append(stringPoint66);
            stringCache34.Append(stringPoint67);
            stringCache34.Append(stringPoint68);

            stringReference34.Append(formula50);
            stringReference34.Append(stringCache34);

            categoryAxisData17.Append(stringReference34);

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

            C.NumberReference numberReference17 = new C.NumberReference();
            C.Formula formula51 = new C.Formula();
            formula51.Text = "ShowHorizontalScrollbar!$B$2:$B$5";

            C.NumberingCache numberingCache17 = new C.NumberingCache();
            C.FormatCode formatCode17 = new C.FormatCode();
            formatCode17.Text = "General";
            C.PointCount pointCount51 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint49 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue117 = new C.NumericValue();
            numericValue117.Text = "19";

            numericPoint49.Append(numericValue117);

            C.NumericPoint numericPoint50 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue118 = new C.NumericValue();
            numericValue118.Text = "13";

            numericPoint50.Append(numericValue118);

            C.NumericPoint numericPoint51 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue119 = new C.NumericValue();
            numericValue119.Text = "33";

            numericPoint51.Append(numericValue119);

            numberingCache17.Append(formatCode17);
            numberingCache17.Append(pointCount51);
            numberingCache17.Append(numericPoint49);
            numberingCache17.Append(numericPoint50);
            numberingCache17.Append(numericPoint51);

            numberReference17.Append(formula51);
            numberReference17.Append(numberingCache17);

            values17.Append(numberReference17);

            pieChartSeries9.Append(index176);
            pieChartSeries9.Append(order17);
            pieChartSeries9.Append(seriesText17);
            pieChartSeries9.Append(categoryAxisData17);
            pieChartSeries9.Append(values17);

            C.DataLabels dataLabels17 = new C.DataLabels();
            C.ShowLegendKey showLegendKey17 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue17 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName17 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName17 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent17 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize17 = new C.ShowBubbleSize(){ Val = false };
            C.ShowLeaderLines showLeaderLines9 = new C.ShowLeaderLines(){ Val = true };

            dataLabels17.Append(showLegendKey17);
            dataLabels17.Append(showValue17);
            dataLabels17.Append(showCategoryName17);
            dataLabels17.Append(showSeriesName17);
            dataLabels17.Append(showPercent17);
            dataLabels17.Append(showBubbleSize17);
            dataLabels17.Append(showLeaderLines9);
            C.FirstSliceAngle firstSliceAngle9 = new C.FirstSliceAngle(){ Val = (UInt16Value)0U };

            pieChart9.Append(varyColors17);
            pieChart9.Append(pieChartSeries9);
            pieChart9.Append(dataLabels17);
            pieChart9.Append(firstSliceAngle9);

            plotArea17.Append(layout17);
            plotArea17.Append(pieChart9);

            C.Legend legend17 = new C.Legend();
            C.LegendPosition legendPosition17 = new C.LegendPosition(){ Val = C.LegendPositionValues.Right };
            C.Overlay overlay34 = new C.Overlay(){ Val = false };

            legend17.Append(legendPosition17);
            legend17.Append(overlay34);
            C.PlotVisibleOnly plotVisibleOnly17 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs17 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum17 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart17.Append(title17);
            chart17.Append(autoTitleDeleted17);
            chart17.Append(pivotFormats17);
            chart17.Append(plotArea17);
            chart17.Append(legend17);
            chart17.Append(plotVisibleOnly17);
            chart17.Append(displayBlanksAs17);
            chart17.Append(showDataLabelsOverMaximum17);

            C.PrintSettings printSettings17 = new C.PrintSettings();
            C.HeaderFooter headerFooter17 = new C.HeaderFooter();
            C.PageMargins pageMargins28 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup17 = new C.PageSetup();

            printSettings17.Append(headerFooter17);
            printSettings17.Append(pageMargins28);
            printSettings17.Append(pageSetup17);

            C.ChartSpaceExtensionList chartSpaceExtensionList17 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList17.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList17.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension17 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension17.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions17 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter17 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories17 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData17 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries17 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible17 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions17.Append(dropZoneFilter17);
            pivotOptions17.Append(dropZoneCategories17);
            pivotOptions17.Append(dropZoneData17);
            pivotOptions17.Append(dropZoneSeries17);
            pivotOptions17.Append(dropZonesVisible17);

            chartSpaceExtension17.Append(pivotOptions17);

            chartSpaceExtensionList17.Append(chartSpaceExtension17);

            chartSpace17.Append(date190417);
            chartSpace17.Append(editingLanguage17);
            chartSpace17.Append(roundedCorners17);
            chartSpace17.Append(alternateContent37);
            chartSpace17.Append(pivotSource17);
            chartSpace17.Append(chart17);
            chartSpace17.Append(printSettings17);
            chartSpace17.Append(chartSpaceExtensionList17);

            chartPart17.ChartSpace = chartSpace17;
        }
        // Generates content of chartPart16.
        private void GenerateChartPart16Content(ChartPart chartPart16)
        {
            C.ChartSpace chartSpace16 = new C.ChartSpace();
            chartSpace16.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace16.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace16.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date190416 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage16 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners16 = new C.RoundedCorners(){ Val = false };
            C.Style style31 = new C.Style(){ Val = 1 };

            C.PivotSource pivotSource16 = new C.PivotSource();
            C.PivotTableName pivotTableName16 = new C.PivotTableName();
            pivotTableName16.Text = "[GeneratedDocument.xlsx]Level!PivotTable1";
            C.FormatId formatId16 = new C.FormatId(){ Val = (UInt32Value)4U };

            pivotSource16.Append(pivotTableName16);
            pivotSource16.Append(formatId16);

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

            C.Title title16 = new C.Title();
            C.Overlay overlay31 = new C.Overlay(){ Val = false };

            title16.Append(overlay31);
            C.AutoTitleDeleted autoTitleDeleted16 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats16 = new C.PivotFormats();

            C.PivotFormat pivotFormat140 = new C.PivotFormat();
            C.Index index155 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties66 = new C.ShapeProperties();

            A.SolidFill solidFill125 = new A.SolidFill();

            A.SchemeColor schemeColor99 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint44 = new A.Tint(){ Val = 100000 };

            schemeColor99.Append(tint44);

            solidFill125.Append(schemeColor99);

            A.Outline outline99 = new A.Outline();
            A.NoFill noFill84 = new A.NoFill();

            outline99.Append(noFill84);
            A.EffectList effectList81 = new A.EffectList();

            shapeProperties66.Append(solidFill125);
            shapeProperties66.Append(outline99);
            shapeProperties66.Append(effectList81);

            C.Marker marker140 = new C.Marker();
            C.Symbol symbol140 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker140.Append(symbol140);

            pivotFormat140.Append(index155);
            pivotFormat140.Append(shapeProperties66);
            pivotFormat140.Append(marker140);

            C.PivotFormat pivotFormat141 = new C.PivotFormat();
            C.Index index156 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties67 = new C.ShapeProperties();

            A.SolidFill solidFill126 = new A.SolidFill();

            A.SchemeColor schemeColor100 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint45 = new A.Tint(){ Val = 100000 };

            schemeColor100.Append(tint45);

            solidFill126.Append(schemeColor100);

            A.Outline outline100 = new A.Outline();
            A.NoFill noFill85 = new A.NoFill();

            outline100.Append(noFill85);
            A.EffectList effectList82 = new A.EffectList();

            shapeProperties67.Append(solidFill126);
            shapeProperties67.Append(outline100);
            shapeProperties67.Append(effectList82);

            C.Marker marker141 = new C.Marker();
            C.Symbol symbol141 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker141.Append(symbol141);

            pivotFormat141.Append(index156);
            pivotFormat141.Append(shapeProperties67);
            pivotFormat141.Append(marker141);

            C.PivotFormat pivotFormat142 = new C.PivotFormat();
            C.Index index157 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker142 = new C.Marker();
            C.Symbol symbol142 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker142.Append(symbol142);

            pivotFormat142.Append(index157);
            pivotFormat142.Append(marker142);

            C.PivotFormat pivotFormat143 = new C.PivotFormat();
            C.Index index158 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker143 = new C.Marker();
            C.Symbol symbol143 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker143.Append(symbol143);

            pivotFormat143.Append(index158);
            pivotFormat143.Append(marker143);

            C.PivotFormat pivotFormat144 = new C.PivotFormat();
            C.Index index159 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker144 = new C.Marker();
            C.Symbol symbol144 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker144.Append(symbol144);

            pivotFormat144.Append(index159);
            pivotFormat144.Append(marker144);

            C.PivotFormat pivotFormat145 = new C.PivotFormat();
            C.Index index160 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker145 = new C.Marker();
            C.Symbol symbol145 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker145.Append(symbol145);

            pivotFormat145.Append(index160);
            pivotFormat145.Append(marker145);

            C.PivotFormat pivotFormat146 = new C.PivotFormat();
            C.Index index161 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker146 = new C.Marker();
            C.Symbol symbol146 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker146.Append(symbol146);

            pivotFormat146.Append(index161);
            pivotFormat146.Append(marker146);

            C.PivotFormat pivotFormat147 = new C.PivotFormat();
            C.Index index162 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker147 = new C.Marker();
            C.Symbol symbol147 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker147.Append(symbol147);

            pivotFormat147.Append(index162);
            pivotFormat147.Append(marker147);

            C.PivotFormat pivotFormat148 = new C.PivotFormat();
            C.Index index163 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker148 = new C.Marker();
            C.Symbol symbol148 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker148.Append(symbol148);

            pivotFormat148.Append(index163);
            pivotFormat148.Append(marker148);

            C.PivotFormat pivotFormat149 = new C.PivotFormat();
            C.Index index164 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker149 = new C.Marker();
            C.Symbol symbol149 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker149.Append(symbol149);

            pivotFormat149.Append(index164);
            pivotFormat149.Append(marker149);

            C.PivotFormat pivotFormat150 = new C.PivotFormat();
            C.Index index165 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker150 = new C.Marker();
            C.Symbol symbol150 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker150.Append(symbol150);

            pivotFormat150.Append(index165);
            pivotFormat150.Append(marker150);

            C.PivotFormat pivotFormat151 = new C.PivotFormat();
            C.Index index166 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker151 = new C.Marker();
            C.Symbol symbol151 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker151.Append(symbol151);

            pivotFormat151.Append(index166);
            pivotFormat151.Append(marker151);

            C.PivotFormat pivotFormat152 = new C.PivotFormat();
            C.Index index167 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker152 = new C.Marker();
            C.Symbol symbol152 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker152.Append(symbol152);

            pivotFormat152.Append(index167);
            pivotFormat152.Append(marker152);

            C.PivotFormat pivotFormat153 = new C.PivotFormat();
            C.Index index168 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker153 = new C.Marker();
            C.Symbol symbol153 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker153.Append(symbol153);

            pivotFormat153.Append(index168);
            pivotFormat153.Append(marker153);

            pivotFormats16.Append(pivotFormat140);
            pivotFormats16.Append(pivotFormat141);
            pivotFormats16.Append(pivotFormat142);
            pivotFormats16.Append(pivotFormat143);
            pivotFormats16.Append(pivotFormat144);
            pivotFormats16.Append(pivotFormat145);
            pivotFormats16.Append(pivotFormat146);
            pivotFormats16.Append(pivotFormat147);
            pivotFormats16.Append(pivotFormat148);
            pivotFormats16.Append(pivotFormat149);
            pivotFormats16.Append(pivotFormat150);
            pivotFormats16.Append(pivotFormat151);
            pivotFormats16.Append(pivotFormat152);
            pivotFormats16.Append(pivotFormat153);

            C.PlotArea plotArea16 = new C.PlotArea();
            C.Layout layout16 = new C.Layout();

            C.BarChart barChart8 = new C.BarChart();
            C.BarDirection barDirection8 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping8 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors16 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries8 = new C.BarChartSeries();
            C.Index index169 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order16 = new C.Order(){ Val = (UInt32Value)0U };

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

            C.StringReference stringReference31 = new C.StringReference();
            C.Formula formula46 = new C.Formula();
            formula46.Text = "Level!$B$1";

            C.StringCache stringCache31 = new C.StringCache();
            C.PointCount pointCount46 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint61 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue106 = new C.NumericValue();
            numericValue106.Text = "Total";

            stringPoint61.Append(numericValue106);

            stringCache31.Append(pointCount46);
            stringCache31.Append(stringPoint61);

            stringReference31.Append(formula46);
            stringReference31.Append(stringCache31);

            seriesText16.Append(stringReference31);

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

            A.SolidFill solidFill127 = new A.SolidFill();

            A.SchemeColor schemeColor101 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint46 = new A.Tint(){ Val = 100000 };

            schemeColor101.Append(tint46);

            solidFill127.Append(schemeColor101);

            A.Outline outline101 = new A.Outline();
            A.NoFill noFill86 = new A.NoFill();

            outline101.Append(noFill86);
            A.EffectList effectList83 = new A.EffectList();

            chartShapeProperties31.Append(solidFill127);
            chartShapeProperties31.Append(outline101);
            chartShapeProperties31.Append(effectList83);
            C.InvertIfNegative invertIfNegative8 = new C.InvertIfNegative(){ Val = false };

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

            C.StringReference stringReference32 = new C.StringReference();
            C.Formula formula47 = new C.Formula();
            formula47.Text = "Level!$A$2:$A$5";

            C.StringCache stringCache32 = new C.StringCache();
            C.PointCount pointCount47 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint62 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue107 = new C.NumericValue();
            numericValue107.Text = "product_A";

            stringPoint62.Append(numericValue107);

            C.StringPoint stringPoint63 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue108 = new C.NumericValue();
            numericValue108.Text = "product_D";

            stringPoint63.Append(numericValue108);

            C.StringPoint stringPoint64 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue109 = new C.NumericValue();
            numericValue109.Text = "product_E";

            stringPoint64.Append(numericValue109);

            stringCache32.Append(pointCount47);
            stringCache32.Append(stringPoint62);
            stringCache32.Append(stringPoint63);
            stringCache32.Append(stringPoint64);

            stringReference32.Append(formula47);
            stringReference32.Append(stringCache32);

            categoryAxisData16.Append(stringReference32);

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

            C.NumberReference numberReference16 = new C.NumberReference();
            C.Formula formula48 = new C.Formula();
            formula48.Text = "Level!$B$2:$B$5";

            C.NumberingCache numberingCache16 = new C.NumberingCache();
            C.FormatCode formatCode16 = new C.FormatCode();
            formatCode16.Text = "General";
            C.PointCount pointCount48 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint46 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue110 = new C.NumericValue();
            numericValue110.Text = "19";

            numericPoint46.Append(numericValue110);

            C.NumericPoint numericPoint47 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue111 = new C.NumericValue();
            numericValue111.Text = "13";

            numericPoint47.Append(numericValue111);

            C.NumericPoint numericPoint48 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue112 = new C.NumericValue();
            numericValue112.Text = "33";

            numericPoint48.Append(numericValue112);

            numberingCache16.Append(formatCode16);
            numberingCache16.Append(pointCount48);
            numberingCache16.Append(numericPoint46);
            numberingCache16.Append(numericPoint47);
            numberingCache16.Append(numericPoint48);

            numberReference16.Append(formula48);
            numberReference16.Append(numberingCache16);

            values16.Append(numberReference16);

            barChartSeries8.Append(index169);
            barChartSeries8.Append(order16);
            barChartSeries8.Append(seriesText16);
            barChartSeries8.Append(chartShapeProperties31);
            barChartSeries8.Append(invertIfNegative8);
            barChartSeries8.Append(categoryAxisData16);
            barChartSeries8.Append(values16);

            C.DataLabels dataLabels16 = new C.DataLabels();
            C.ShowLegendKey showLegendKey16 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue16 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName16 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName16 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent16 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize16 = new C.ShowBubbleSize(){ Val = false };

            dataLabels16.Append(showLegendKey16);
            dataLabels16.Append(showValue16);
            dataLabels16.Append(showCategoryName16);
            dataLabels16.Append(showSeriesName16);
            dataLabels16.Append(showPercent16);
            dataLabels16.Append(showBubbleSize16);
            C.GapWidth gapWidth8 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap7 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId29 = new C.AxisId(){ Val = (UInt32Value)209240832U };
            C.AxisId axisId30 = new C.AxisId(){ Val = (UInt32Value)209693768U };

            barChart8.Append(barDirection8);
            barChart8.Append(barGrouping8);
            barChart8.Append(varyColors16);
            barChart8.Append(barChartSeries8);
            barChart8.Append(dataLabels16);
            barChart8.Append(gapWidth8);
            barChart8.Append(overlap7);
            barChart8.Append(axisId29);
            barChart8.Append(axisId30);

            C.CategoryAxis categoryAxis8 = new C.CategoryAxis();
            C.AxisId axisId31 = new C.AxisId(){ Val = (UInt32Value)209240832U };

            C.Scaling scaling15 = new C.Scaling();
            C.Orientation orientation15 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling15.Append(orientation15);
            C.Delete delete15 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition15 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat26 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark15 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark15 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition15 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties32 = new C.ChartShapeProperties();
            A.NoFill noFill87 = new A.NoFill();

            A.Outline outline102 = new A.Outline();
            A.NoFill noFill88 = new A.NoFill();

            outline102.Append(noFill88);
            A.EffectList effectList84 = new A.EffectList();

            chartShapeProperties32.Append(noFill87);
            chartShapeProperties32.Append(outline102);
            chartShapeProperties32.Append(effectList84);

            C.TextProperties textProperties25 = new C.TextProperties();
            A.BodyProperties bodyProperties43 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle43 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties25 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties25 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill128 = new A.SolidFill();

            A.SchemeColor schemeColor102 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation37 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset31 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor102.Append(luminanceModulation37);
            schemeColor102.Append(luminanceOffset31);

            solidFill128.Append(schemeColor102);
            A.LatinFont latinFont21 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont21 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont21 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties25.Append(solidFill128);
            defaultRunProperties25.Append(latinFont21);
            defaultRunProperties25.Append(eastAsianFont21);
            defaultRunProperties25.Append(complexScriptFont21);

            paragraphProperties25.Append(defaultRunProperties25);
            A.EndParagraphRunProperties endParagraphRunProperties25 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph43.Append(paragraphProperties25);
            paragraph43.Append(endParagraphRunProperties25);

            textProperties25.Append(bodyProperties43);
            textProperties25.Append(listStyle43);
            textProperties25.Append(paragraph43);
            C.CrossingAxis crossingAxis15 = new C.CrossingAxis(){ Val = (UInt32Value)209693768U };
            C.Crosses crosses15 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled8 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment8 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset8 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels8 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis8.Append(axisId31);
            categoryAxis8.Append(scaling15);
            categoryAxis8.Append(delete15);
            categoryAxis8.Append(axisPosition15);
            categoryAxis8.Append(numberingFormat26);
            categoryAxis8.Append(majorTickMark15);
            categoryAxis8.Append(minorTickMark15);
            categoryAxis8.Append(tickLabelPosition15);
            categoryAxis8.Append(chartShapeProperties32);
            categoryAxis8.Append(textProperties25);
            categoryAxis8.Append(crossingAxis15);
            categoryAxis8.Append(crosses15);
            categoryAxis8.Append(autoLabeled8);
            categoryAxis8.Append(labelAlignment8);
            categoryAxis8.Append(labelOffset8);
            categoryAxis8.Append(noMultiLevelLabels8);

            C.ValueAxis valueAxis8 = new C.ValueAxis();
            C.AxisId axisId32 = new C.AxisId(){ Val = (UInt32Value)209693768U };

            C.Scaling scaling16 = new C.Scaling();
            C.Orientation orientation16 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling16.Append(orientation16);
            C.Delete delete16 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition16 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

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

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

            A.Outline outline103 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill129 = new A.SolidFill();

            A.SchemeColor schemeColor103 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation38 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset32 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor103.Append(luminanceModulation38);
            schemeColor103.Append(luminanceOffset32);

            solidFill129.Append(schemeColor103);
            A.Round round13 = new A.Round();

            outline103.Append(solidFill129);
            outline103.Append(round13);
            A.EffectList effectList85 = new A.EffectList();

            chartShapeProperties33.Append(outline103);
            chartShapeProperties33.Append(effectList85);

            majorGridlines8.Append(chartShapeProperties33);
            C.NumberingFormat numberingFormat27 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark16 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark16 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition16 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties34 = new C.ChartShapeProperties();
            A.NoFill noFill89 = new A.NoFill();

            A.Outline outline104 = new A.Outline();
            A.NoFill noFill90 = new A.NoFill();

            outline104.Append(noFill90);
            A.EffectList effectList86 = new A.EffectList();

            chartShapeProperties34.Append(noFill89);
            chartShapeProperties34.Append(outline104);
            chartShapeProperties34.Append(effectList86);

            C.TextProperties textProperties26 = new C.TextProperties();
            A.BodyProperties bodyProperties44 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle44 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties26 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties26 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill130 = new A.SolidFill();

            A.SchemeColor schemeColor104 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation39 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset33 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor104.Append(luminanceModulation39);
            schemeColor104.Append(luminanceOffset33);

            solidFill130.Append(schemeColor104);
            A.LatinFont latinFont22 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont22 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont22 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties26.Append(solidFill130);
            defaultRunProperties26.Append(latinFont22);
            defaultRunProperties26.Append(eastAsianFont22);
            defaultRunProperties26.Append(complexScriptFont22);

            paragraphProperties26.Append(defaultRunProperties26);
            A.EndParagraphRunProperties endParagraphRunProperties26 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph44.Append(paragraphProperties26);
            paragraph44.Append(endParagraphRunProperties26);

            textProperties26.Append(bodyProperties44);
            textProperties26.Append(listStyle44);
            textProperties26.Append(paragraph44);
            C.CrossingAxis crossingAxis16 = new C.CrossingAxis(){ Val = (UInt32Value)209240832U };
            C.Crosses crosses16 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween8 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis8.Append(axisId32);
            valueAxis8.Append(scaling16);
            valueAxis8.Append(delete16);
            valueAxis8.Append(axisPosition16);
            valueAxis8.Append(majorGridlines8);
            valueAxis8.Append(numberingFormat27);
            valueAxis8.Append(majorTickMark16);
            valueAxis8.Append(minorTickMark16);
            valueAxis8.Append(tickLabelPosition16);
            valueAxis8.Append(chartShapeProperties34);
            valueAxis8.Append(textProperties26);
            valueAxis8.Append(crossingAxis16);
            valueAxis8.Append(crosses16);
            valueAxis8.Append(crossBetween8);

            C.ShapeProperties shapeProperties68 = new C.ShapeProperties();

            A.SolidFill solidFill131 = new A.SolidFill();
            A.SchemeColor schemeColor105 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill131.Append(schemeColor105);

            A.Outline outline105 = new A.Outline();
            A.NoFill noFill91 = new A.NoFill();

            outline105.Append(noFill91);
            A.EffectList effectList87 = new A.EffectList();

            shapeProperties68.Append(solidFill131);
            shapeProperties68.Append(outline105);
            shapeProperties68.Append(effectList87);

            plotArea16.Append(layout16);
            plotArea16.Append(barChart8);
            plotArea16.Append(categoryAxis8);
            plotArea16.Append(valueAxis8);
            plotArea16.Append(shapeProperties68);

            C.Legend legend16 = new C.Legend();
            C.LegendPosition legendPosition16 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay32 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties35 = new C.ChartShapeProperties();
            A.NoFill noFill92 = new A.NoFill();

            A.Outline outline106 = new A.Outline();
            A.NoFill noFill93 = new A.NoFill();

            outline106.Append(noFill93);
            A.EffectList effectList88 = new A.EffectList();

            chartShapeProperties35.Append(noFill92);
            chartShapeProperties35.Append(outline106);
            chartShapeProperties35.Append(effectList88);

            C.TextProperties textProperties27 = new C.TextProperties();
            A.BodyProperties bodyProperties45 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle45 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties27 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties27 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill132 = new A.SolidFill();

            A.SchemeColor schemeColor106 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation40 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset34 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor106.Append(luminanceModulation40);
            schemeColor106.Append(luminanceOffset34);

            solidFill132.Append(schemeColor106);
            A.LatinFont latinFont23 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont23 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont23 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties27.Append(solidFill132);
            defaultRunProperties27.Append(latinFont23);
            defaultRunProperties27.Append(eastAsianFont23);
            defaultRunProperties27.Append(complexScriptFont23);

            paragraphProperties27.Append(defaultRunProperties27);
            A.EndParagraphRunProperties endParagraphRunProperties27 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph45.Append(paragraphProperties27);
            paragraph45.Append(endParagraphRunProperties27);

            textProperties27.Append(bodyProperties45);
            textProperties27.Append(listStyle45);
            textProperties27.Append(paragraph45);

            legend16.Append(legendPosition16);
            legend16.Append(overlay32);
            legend16.Append(chartShapeProperties35);
            legend16.Append(textProperties27);
            C.PlotVisibleOnly plotVisibleOnly16 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs16 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum16 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart16.Append(title16);
            chart16.Append(autoTitleDeleted16);
            chart16.Append(pivotFormats16);
            chart16.Append(plotArea16);
            chart16.Append(legend16);
            chart16.Append(plotVisibleOnly16);
            chart16.Append(displayBlanksAs16);
            chart16.Append(showDataLabelsOverMaximum16);

            C.ShapeProperties shapeProperties69 = new C.ShapeProperties();

            A.SolidFill solidFill133 = new A.SolidFill();
            A.SchemeColor schemeColor107 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill133.Append(schemeColor107);

            A.Outline outline107 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill134 = new A.SolidFill();

            A.SchemeColor schemeColor108 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation41 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset35 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor108.Append(luminanceModulation41);
            schemeColor108.Append(luminanceOffset35);

            solidFill134.Append(schemeColor108);
            A.Round round14 = new A.Round();

            outline107.Append(solidFill134);
            outline107.Append(round14);
            A.EffectList effectList89 = new A.EffectList();

            shapeProperties69.Append(solidFill133);
            shapeProperties69.Append(outline107);
            shapeProperties69.Append(effectList89);

            C.TextProperties textProperties28 = new C.TextProperties();
            A.BodyProperties bodyProperties46 = new A.BodyProperties();
            A.ListStyle listStyle46 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties28 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties28 = new A.DefaultRunProperties();

            paragraphProperties28.Append(defaultRunProperties28);
            A.EndParagraphRunProperties endParagraphRunProperties28 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph46.Append(paragraphProperties28);
            paragraph46.Append(endParagraphRunProperties28);

            textProperties28.Append(bodyProperties46);
            textProperties28.Append(listStyle46);
            textProperties28.Append(paragraph46);

            C.PrintSettings printSettings16 = new C.PrintSettings();
            C.HeaderFooter headerFooter16 = new C.HeaderFooter();
            C.PageMargins pageMargins26 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup16 = new C.PageSetup();

            printSettings16.Append(headerFooter16);
            printSettings16.Append(pageMargins26);
            printSettings16.Append(pageSetup16);

            C.ChartSpaceExtensionList chartSpaceExtensionList16 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList16.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C.ChartSpaceExtension chartSpaceExtension16 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension16.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions16 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter16 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories16 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData16 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries16 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible16 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions16.Append(dropZoneFilter16);
            pivotOptions16.Append(dropZoneCategories16);
            pivotOptions16.Append(dropZoneData16);
            pivotOptions16.Append(dropZoneSeries16);
            pivotOptions16.Append(dropZonesVisible16);

            chartSpaceExtension16.Append(pivotOptions16);

            chartSpaceExtensionList16.Append(chartSpaceExtension16);

            chartSpace16.Append(date190416);
            chartSpace16.Append(editingLanguage16);
            chartSpace16.Append(roundedCorners16);
            chartSpace16.Append(style31);
            chartSpace16.Append(pivotSource16);
            chartSpace16.Append(chart16);
            chartSpace16.Append(shapeProperties69);
            chartSpace16.Append(textProperties28);
            chartSpace16.Append(printSettings16);
            chartSpace16.Append(chartSpaceExtensionList16);

            chartPart16.ChartSpace = chartSpace16;
        }
        // Generates content of chartPart2.
        private void GenerateChartPart2Content(ChartPart chartPart2)
        {
            C.ChartSpace chartSpace2 = new C.ChartSpace();
            chartSpace2.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace2.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace2.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19042 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage2 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners2 = new C.RoundedCorners(){ Val = false };

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

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

            alternateContentChoice5.Append(style3);

            AlternateContentFallback alternateContentFallback4 = new AlternateContentFallback();
            C.Style style4 = new C.Style(){ Val = 1 };

            alternateContentFallback4.Append(style4);

            alternateContent5.Append(alternateContentChoice5);
            alternateContent5.Append(alternateContentFallback4);

            C.PivotSource pivotSource2 = new C.PivotSource();
            C.PivotTableName pivotTableName2 = new C.PivotTableName();
            pivotTableName2.Text = "[GeneratedDocument.xlsx]ShowTimeLevel!PivotTable1";
            C.FormatId formatId2 = new C.FormatId(){ Val = (UInt32Value)13U };

            pivotSource2.Append(pivotTableName2);
            pivotSource2.Append(formatId2);

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

            C.Title title2 = new C.Title();
            C.Overlay overlay3 = new C.Overlay(){ Val = false };

            title2.Append(overlay3);
            C.AutoTitleDeleted autoTitleDeleted2 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats2 = new C.PivotFormats();

            C.PivotFormat pivotFormat6 = new C.PivotFormat();
            C.Index index7 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties3 = new C.ShapeProperties();

            A.SolidFill solidFill5 = new A.SolidFill();

            A.SchemeColor schemeColor1 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint1 = new A.Tint(){ Val = 100000 };

            schemeColor1.Append(tint1);

            solidFill5.Append(schemeColor1);

            A.Outline outline3 = new A.Outline();
            A.NoFill noFill1 = new A.NoFill();

            outline3.Append(noFill1);
            A.EffectList effectList1 = new A.EffectList();

            shapeProperties3.Append(solidFill5);
            shapeProperties3.Append(outline3);
            shapeProperties3.Append(effectList1);

            C.Marker marker6 = new C.Marker();
            C.Symbol symbol6 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker6.Append(symbol6);

            pivotFormat6.Append(index7);
            pivotFormat6.Append(shapeProperties3);
            pivotFormat6.Append(marker6);

            C.PivotFormat pivotFormat7 = new C.PivotFormat();
            C.Index index8 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties4 = new C.ShapeProperties();

            A.SolidFill solidFill6 = new A.SolidFill();

            A.SchemeColor schemeColor2 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint2 = new A.Tint(){ Val = 100000 };

            schemeColor2.Append(tint2);

            solidFill6.Append(schemeColor2);

            A.Outline outline4 = new A.Outline();
            A.NoFill noFill2 = new A.NoFill();

            outline4.Append(noFill2);
            A.EffectList effectList2 = new A.EffectList();

            shapeProperties4.Append(solidFill6);
            shapeProperties4.Append(outline4);
            shapeProperties4.Append(effectList2);

            C.Marker marker7 = new C.Marker();
            C.Symbol symbol7 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker7.Append(symbol7);

            pivotFormat7.Append(index8);
            pivotFormat7.Append(shapeProperties4);
            pivotFormat7.Append(marker7);

            C.PivotFormat pivotFormat8 = new C.PivotFormat();
            C.Index index9 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker8 = new C.Marker();
            C.Symbol symbol8 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker8.Append(symbol8);

            pivotFormat8.Append(index9);
            pivotFormat8.Append(marker8);

            C.PivotFormat pivotFormat9 = new C.PivotFormat();
            C.Index index10 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker9 = new C.Marker();
            C.Symbol symbol9 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker9.Append(symbol9);

            pivotFormat9.Append(index10);
            pivotFormat9.Append(marker9);

            C.PivotFormat pivotFormat10 = new C.PivotFormat();
            C.Index index11 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker10 = new C.Marker();
            C.Symbol symbol10 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker10.Append(symbol10);

            pivotFormat10.Append(index11);
            pivotFormat10.Append(marker10);

            C.PivotFormat pivotFormat11 = new C.PivotFormat();
            C.Index index12 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker11 = new C.Marker();
            C.Symbol symbol11 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker11.Append(symbol11);

            pivotFormat11.Append(index12);
            pivotFormat11.Append(marker11);

            C.PivotFormat pivotFormat12 = new C.PivotFormat();
            C.Index index13 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker12 = new C.Marker();
            C.Symbol symbol12 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker12.Append(symbol12);

            pivotFormat12.Append(index13);
            pivotFormat12.Append(marker12);

            C.PivotFormat pivotFormat13 = new C.PivotFormat();
            C.Index index14 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker13 = new C.Marker();
            C.Symbol symbol13 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker13.Append(symbol13);

            pivotFormat13.Append(index14);
            pivotFormat13.Append(marker13);

            C.PivotFormat pivotFormat14 = new C.PivotFormat();
            C.Index index15 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker14 = new C.Marker();
            C.Symbol symbol14 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker14.Append(symbol14);

            pivotFormat14.Append(index15);
            pivotFormat14.Append(marker14);

            C.PivotFormat pivotFormat15 = new C.PivotFormat();
            C.Index index16 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker15 = new C.Marker();
            C.Symbol symbol15 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker15.Append(symbol15);

            pivotFormat15.Append(index16);
            pivotFormat15.Append(marker15);

            C.PivotFormat pivotFormat16 = new C.PivotFormat();
            C.Index index17 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker16 = new C.Marker();
            C.Symbol symbol16 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker16.Append(symbol16);

            pivotFormat16.Append(index17);
            pivotFormat16.Append(marker16);

            C.PivotFormat pivotFormat17 = new C.PivotFormat();
            C.Index index18 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker17 = new C.Marker();
            C.Symbol symbol17 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker17.Append(symbol17);

            pivotFormat17.Append(index18);
            pivotFormat17.Append(marker17);

            C.PivotFormat pivotFormat18 = new C.PivotFormat();
            C.Index index19 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker18 = new C.Marker();
            C.Symbol symbol18 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker18.Append(symbol18);

            pivotFormat18.Append(index19);
            pivotFormat18.Append(marker18);

            C.PivotFormat pivotFormat19 = new C.PivotFormat();
            C.Index index20 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker19 = new C.Marker();
            C.Symbol symbol19 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker19.Append(symbol19);

            pivotFormat19.Append(index20);
            pivotFormat19.Append(marker19);

            C.PivotFormat pivotFormat20 = new C.PivotFormat();
            C.Index index21 = new C.Index(){ Val = (UInt32Value)14U };

            C.ShapeProperties shapeProperties5 = new C.ShapeProperties();

            A.SolidFill solidFill7 = new A.SolidFill();

            A.SchemeColor schemeColor3 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint3 = new A.Tint(){ Val = 100000 };

            schemeColor3.Append(tint3);

            solidFill7.Append(schemeColor3);

            A.Outline outline5 = new A.Outline();
            A.NoFill noFill3 = new A.NoFill();

            outline5.Append(noFill3);
            A.EffectList effectList3 = new A.EffectList();

            shapeProperties5.Append(solidFill7);
            shapeProperties5.Append(outline5);
            shapeProperties5.Append(effectList3);

            C.Marker marker20 = new C.Marker();
            C.Symbol symbol20 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker20.Append(symbol20);

            pivotFormat20.Append(index21);
            pivotFormat20.Append(shapeProperties5);
            pivotFormat20.Append(marker20);

            C.PivotFormat pivotFormat21 = new C.PivotFormat();
            C.Index index22 = new C.Index(){ Val = (UInt32Value)15U };

            C.ShapeProperties shapeProperties6 = new C.ShapeProperties();

            A.SolidFill solidFill8 = new A.SolidFill();

            A.SchemeColor schemeColor4 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint4 = new A.Tint(){ Val = 100000 };

            schemeColor4.Append(tint4);

            solidFill8.Append(schemeColor4);

            A.Outline outline6 = new A.Outline();
            A.NoFill noFill4 = new A.NoFill();

            outline6.Append(noFill4);
            A.EffectList effectList4 = new A.EffectList();

            shapeProperties6.Append(solidFill8);
            shapeProperties6.Append(outline6);
            shapeProperties6.Append(effectList4);

            C.Marker marker21 = new C.Marker();
            C.Symbol symbol21 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker21.Append(symbol21);

            pivotFormat21.Append(index22);
            pivotFormat21.Append(shapeProperties6);
            pivotFormat21.Append(marker21);

            C.PivotFormat pivotFormat22 = new C.PivotFormat();
            C.Index index23 = new C.Index(){ Val = (UInt32Value)16U };

            C.ShapeProperties shapeProperties7 = new C.ShapeProperties();

            A.SolidFill solidFill9 = new A.SolidFill();

            A.SchemeColor schemeColor5 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint5 = new A.Tint(){ Val = 100000 };

            schemeColor5.Append(tint5);

            solidFill9.Append(schemeColor5);

            A.Outline outline7 = new A.Outline();
            A.NoFill noFill5 = new A.NoFill();

            outline7.Append(noFill5);
            A.EffectList effectList5 = new A.EffectList();

            shapeProperties7.Append(solidFill9);
            shapeProperties7.Append(outline7);
            shapeProperties7.Append(effectList5);

            C.Marker marker22 = new C.Marker();
            C.Symbol symbol22 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker22.Append(symbol22);

            pivotFormat22.Append(index23);
            pivotFormat22.Append(shapeProperties7);
            pivotFormat22.Append(marker22);

            C.PivotFormat pivotFormat23 = new C.PivotFormat();
            C.Index index24 = new C.Index(){ Val = (UInt32Value)17U };

            C.ShapeProperties shapeProperties8 = new C.ShapeProperties();

            A.SolidFill solidFill10 = new A.SolidFill();

            A.SchemeColor schemeColor6 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint6 = new A.Tint(){ Val = 100000 };

            schemeColor6.Append(tint6);

            solidFill10.Append(schemeColor6);

            A.Outline outline8 = new A.Outline();
            A.NoFill noFill6 = new A.NoFill();

            outline8.Append(noFill6);
            A.EffectList effectList6 = new A.EffectList();

            shapeProperties8.Append(solidFill10);
            shapeProperties8.Append(outline8);
            shapeProperties8.Append(effectList6);

            C.Marker marker23 = new C.Marker();
            C.Symbol symbol23 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker23.Append(symbol23);

            pivotFormat23.Append(index24);
            pivotFormat23.Append(shapeProperties8);
            pivotFormat23.Append(marker23);

            pivotFormats2.Append(pivotFormat6);
            pivotFormats2.Append(pivotFormat7);
            pivotFormats2.Append(pivotFormat8);
            pivotFormats2.Append(pivotFormat9);
            pivotFormats2.Append(pivotFormat10);
            pivotFormats2.Append(pivotFormat11);
            pivotFormats2.Append(pivotFormat12);
            pivotFormats2.Append(pivotFormat13);
            pivotFormats2.Append(pivotFormat14);
            pivotFormats2.Append(pivotFormat15);
            pivotFormats2.Append(pivotFormat16);
            pivotFormats2.Append(pivotFormat17);
            pivotFormats2.Append(pivotFormat18);
            pivotFormats2.Append(pivotFormat19);
            pivotFormats2.Append(pivotFormat20);
            pivotFormats2.Append(pivotFormat21);
            pivotFormats2.Append(pivotFormat22);
            pivotFormats2.Append(pivotFormat23);

            C.PlotArea plotArea2 = new C.PlotArea();
            C.Layout layout2 = new C.Layout();

            C.BarChart barChart1 = new C.BarChart();
            C.BarDirection barDirection1 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping1 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors2 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries1 = new C.BarChartSeries();
            C.Index index25 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order2 = new C.Order(){ Val = (UInt32Value)0U };

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

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

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

            C.StringPoint stringPoint5 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue8 = new C.NumericValue();
            numericValue8.Text = "Total";

            stringPoint5.Append(numericValue8);

            stringCache3.Append(pointCount4);
            stringCache3.Append(stringPoint5);

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

            seriesText2.Append(stringReference3);

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

            A.SolidFill solidFill11 = new A.SolidFill();

            A.SchemeColor schemeColor7 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint7 = new A.Tint(){ Val = 100000 };

            schemeColor7.Append(tint7);

            solidFill11.Append(schemeColor7);

            A.Outline outline9 = new A.Outline();
            A.NoFill noFill7 = new A.NoFill();

            outline9.Append(noFill7);
            A.EffectList effectList7 = new A.EffectList();

            chartShapeProperties1.Append(solidFill11);
            chartShapeProperties1.Append(outline9);
            chartShapeProperties1.Append(effectList7);
            C.InvertIfNegative invertIfNegative1 = new C.InvertIfNegative(){ Val = false };

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

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

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

            C.StringPoint stringPoint6 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue9 = new C.NumericValue();
            numericValue9.Text = "product_A";

            stringPoint6.Append(numericValue9);

            C.StringPoint stringPoint7 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue10 = new C.NumericValue();
            numericValue10.Text = "product_D";

            stringPoint7.Append(numericValue10);

            C.StringPoint stringPoint8 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue11 = new C.NumericValue();
            numericValue11.Text = "product_E";

            stringPoint8.Append(numericValue11);

            stringCache4.Append(pointCount5);
            stringCache4.Append(stringPoint6);
            stringCache4.Append(stringPoint7);
            stringCache4.Append(stringPoint8);

            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 = "ShowTimeLevel!$B$2:$B$5";

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

            C.NumericPoint numericPoint4 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue12 = new C.NumericValue();
            numericValue12.Text = "19";

            numericPoint4.Append(numericValue12);

            C.NumericPoint numericPoint5 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue13 = new C.NumericValue();
            numericValue13.Text = "13";

            numericPoint5.Append(numericValue13);

            C.NumericPoint numericPoint6 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue14 = new C.NumericValue();
            numericValue14.Text = "33";

            numericPoint6.Append(numericValue14);

            numberingCache2.Append(formatCode2);
            numberingCache2.Append(pointCount6);
            numberingCache2.Append(numericPoint4);
            numberingCache2.Append(numericPoint5);
            numberingCache2.Append(numericPoint6);

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

            values2.Append(numberReference2);

            barChartSeries1.Append(index25);
            barChartSeries1.Append(order2);
            barChartSeries1.Append(seriesText2);
            barChartSeries1.Append(chartShapeProperties1);
            barChartSeries1.Append(invertIfNegative1);
            barChartSeries1.Append(categoryAxisData2);
            barChartSeries1.Append(values2);

            C.DataLabels dataLabels2 = new C.DataLabels();
            C.ShowLegendKey showLegendKey2 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue2 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName2 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName2 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent2 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize2 = new C.ShowBubbleSize(){ Val = false };

            dataLabels2.Append(showLegendKey2);
            dataLabels2.Append(showValue2);
            dataLabels2.Append(showCategoryName2);
            dataLabels2.Append(showSeriesName2);
            dataLabels2.Append(showPercent2);
            dataLabels2.Append(showBubbleSize2);
            C.GapWidth gapWidth1 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap1 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId1 = new C.AxisId(){ Val = (UInt32Value)209981120U };
            C.AxisId axisId2 = new C.AxisId(){ Val = (UInt32Value)209981512U };

            barChart1.Append(barDirection1);
            barChart1.Append(barGrouping1);
            barChart1.Append(varyColors2);
            barChart1.Append(barChartSeries1);
            barChart1.Append(dataLabels2);
            barChart1.Append(gapWidth1);
            barChart1.Append(overlap1);
            barChart1.Append(axisId1);
            barChart1.Append(axisId2);

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

            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.NumberingFormat numberingFormat1 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark1 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark1 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition1 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties2 = new C.ChartShapeProperties();
            A.NoFill noFill8 = new A.NoFill();

            A.Outline outline10 = new A.Outline();
            A.NoFill noFill9 = new A.NoFill();

            outline10.Append(noFill9);
            A.EffectList effectList8 = new A.EffectList();

            chartShapeProperties2.Append(noFill8);
            chartShapeProperties2.Append(outline10);
            chartShapeProperties2.Append(effectList8);

            C.TextProperties textProperties1 = new C.TextProperties();
            A.BodyProperties bodyProperties3 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle3 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties1 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties1 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill12 = new A.SolidFill();

            A.SchemeColor schemeColor8 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation1 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset1 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor8.Append(luminanceModulation1);
            schemeColor8.Append(luminanceOffset1);

            solidFill12.Append(schemeColor8);
            A.LatinFont latinFont1 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont1 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont1 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties1.Append(solidFill12);
            defaultRunProperties1.Append(latinFont1);
            defaultRunProperties1.Append(eastAsianFont1);
            defaultRunProperties1.Append(complexScriptFont1);

            paragraphProperties1.Append(defaultRunProperties1);
            A.EndParagraphRunProperties endParagraphRunProperties1 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph3.Append(paragraphProperties1);
            paragraph3.Append(endParagraphRunProperties1);

            textProperties1.Append(bodyProperties3);
            textProperties1.Append(listStyle3);
            textProperties1.Append(paragraph3);
            C.CrossingAxis crossingAxis1 = new C.CrossingAxis(){ Val = (UInt32Value)209981512U };
            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(numberingFormat1);
            categoryAxis1.Append(majorTickMark1);
            categoryAxis1.Append(minorTickMark1);
            categoryAxis1.Append(tickLabelPosition1);
            categoryAxis1.Append(chartShapeProperties2);
            categoryAxis1.Append(textProperties1);
            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)209981512U };

            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 chartShapeProperties3 = new C.ChartShapeProperties();

            A.Outline outline11 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill13 = new A.SolidFill();

            A.SchemeColor schemeColor9 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation2 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset2 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor9.Append(luminanceModulation2);
            schemeColor9.Append(luminanceOffset2);

            solidFill13.Append(schemeColor9);
            A.Round round1 = new A.Round();

            outline11.Append(solidFill13);
            outline11.Append(round1);
            A.EffectList effectList9 = new A.EffectList();

            chartShapeProperties3.Append(outline11);
            chartShapeProperties3.Append(effectList9);

            majorGridlines1.Append(chartShapeProperties3);
            C.NumberingFormat numberingFormat2 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark2 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark2 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition2 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties4 = new C.ChartShapeProperties();
            A.NoFill noFill10 = new A.NoFill();

            A.Outline outline12 = new A.Outline();
            A.NoFill noFill11 = new A.NoFill();

            outline12.Append(noFill11);
            A.EffectList effectList10 = new A.EffectList();

            chartShapeProperties4.Append(noFill10);
            chartShapeProperties4.Append(outline12);
            chartShapeProperties4.Append(effectList10);

            C.TextProperties textProperties2 = new C.TextProperties();
            A.BodyProperties bodyProperties4 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle4 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties2 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties2 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill14 = new A.SolidFill();

            A.SchemeColor schemeColor10 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation3 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset3 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor10.Append(luminanceModulation3);
            schemeColor10.Append(luminanceOffset3);

            solidFill14.Append(schemeColor10);
            A.LatinFont latinFont2 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont2 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont2 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties2.Append(solidFill14);
            defaultRunProperties2.Append(latinFont2);
            defaultRunProperties2.Append(eastAsianFont2);
            defaultRunProperties2.Append(complexScriptFont2);

            paragraphProperties2.Append(defaultRunProperties2);
            A.EndParagraphRunProperties endParagraphRunProperties2 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph4.Append(paragraphProperties2);
            paragraph4.Append(endParagraphRunProperties2);

            textProperties2.Append(bodyProperties4);
            textProperties2.Append(listStyle4);
            textProperties2.Append(paragraph4);
            C.CrossingAxis crossingAxis2 = new C.CrossingAxis(){ Val = (UInt32Value)209981120U };
            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(numberingFormat2);
            valueAxis1.Append(majorTickMark2);
            valueAxis1.Append(minorTickMark2);
            valueAxis1.Append(tickLabelPosition2);
            valueAxis1.Append(chartShapeProperties4);
            valueAxis1.Append(textProperties2);
            valueAxis1.Append(crossingAxis2);
            valueAxis1.Append(crosses2);
            valueAxis1.Append(crossBetween1);

            C.ShapeProperties shapeProperties9 = new C.ShapeProperties();

            A.SolidFill solidFill15 = new A.SolidFill();
            A.SchemeColor schemeColor11 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill15.Append(schemeColor11);

            A.Outline outline13 = new A.Outline();
            A.NoFill noFill12 = new A.NoFill();

            outline13.Append(noFill12);
            A.EffectList effectList11 = new A.EffectList();

            shapeProperties9.Append(solidFill15);
            shapeProperties9.Append(outline13);
            shapeProperties9.Append(effectList11);

            plotArea2.Append(layout2);
            plotArea2.Append(barChart1);
            plotArea2.Append(categoryAxis1);
            plotArea2.Append(valueAxis1);
            plotArea2.Append(shapeProperties9);

            C.Legend legend2 = new C.Legend();
            C.LegendPosition legendPosition2 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay4 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties5 = new C.ChartShapeProperties();
            A.NoFill noFill13 = new A.NoFill();

            A.Outline outline14 = new A.Outline();
            A.NoFill noFill14 = new A.NoFill();

            outline14.Append(noFill14);
            A.EffectList effectList12 = new A.EffectList();

            chartShapeProperties5.Append(noFill13);
            chartShapeProperties5.Append(outline14);
            chartShapeProperties5.Append(effectList12);

            C.TextProperties textProperties3 = new C.TextProperties();
            A.BodyProperties bodyProperties5 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle5 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties3 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties3 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill16 = new A.SolidFill();

            A.SchemeColor schemeColor12 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation4 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset4 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor12.Append(luminanceModulation4);
            schemeColor12.Append(luminanceOffset4);

            solidFill16.Append(schemeColor12);
            A.LatinFont latinFont3 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont3 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont3 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties3.Append(solidFill16);
            defaultRunProperties3.Append(latinFont3);
            defaultRunProperties3.Append(eastAsianFont3);
            defaultRunProperties3.Append(complexScriptFont3);

            paragraphProperties3.Append(defaultRunProperties3);
            A.EndParagraphRunProperties endParagraphRunProperties3 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph5.Append(paragraphProperties3);
            paragraph5.Append(endParagraphRunProperties3);

            textProperties3.Append(bodyProperties5);
            textProperties3.Append(listStyle5);
            textProperties3.Append(paragraph5);

            legend2.Append(legendPosition2);
            legend2.Append(overlay4);
            legend2.Append(chartShapeProperties5);
            legend2.Append(textProperties3);
            C.PlotVisibleOnly plotVisibleOnly2 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs2 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum2 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart2.Append(title2);
            chart2.Append(autoTitleDeleted2);
            chart2.Append(pivotFormats2);
            chart2.Append(plotArea2);
            chart2.Append(legend2);
            chart2.Append(plotVisibleOnly2);
            chart2.Append(displayBlanksAs2);
            chart2.Append(showDataLabelsOverMaximum2);

            C.ShapeProperties shapeProperties10 = new C.ShapeProperties();

            A.SolidFill solidFill17 = new A.SolidFill();
            A.SchemeColor schemeColor13 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill17.Append(schemeColor13);

            A.Outline outline15 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill18 = new A.SolidFill();

            A.SchemeColor schemeColor14 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation5 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset5 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor14.Append(luminanceModulation5);
            schemeColor14.Append(luminanceOffset5);

            solidFill18.Append(schemeColor14);
            A.Round round2 = new A.Round();

            outline15.Append(solidFill18);
            outline15.Append(round2);
            A.EffectList effectList13 = new A.EffectList();

            shapeProperties10.Append(solidFill17);
            shapeProperties10.Append(outline15);
            shapeProperties10.Append(effectList13);

            C.TextProperties textProperties4 = new C.TextProperties();
            A.BodyProperties bodyProperties6 = new A.BodyProperties();
            A.ListStyle listStyle6 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties4 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties4 = new A.DefaultRunProperties();

            paragraphProperties4.Append(defaultRunProperties4);
            A.EndParagraphRunProperties endParagraphRunProperties4 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph6.Append(paragraphProperties4);
            paragraph6.Append(endParagraphRunProperties4);

            textProperties4.Append(bodyProperties6);
            textProperties4.Append(listStyle6);
            textProperties4.Append(paragraph6);

            C.PrintSettings printSettings2 = new C.PrintSettings();
            C.HeaderFooter headerFooter2 = new C.HeaderFooter();
            C.PageMargins pageMargins3 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup2 = new C.PageSetup();

            printSettings2.Append(headerFooter2);
            printSettings2.Append(pageMargins3);
            printSettings2.Append(pageSetup2);

            C.ChartSpaceExtensionList chartSpaceExtensionList2 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList2.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList2.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension2 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension2.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions2 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter2 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories2 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData2 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries2 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible2 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions2.Append(dropZoneFilter2);
            pivotOptions2.Append(dropZoneCategories2);
            pivotOptions2.Append(dropZoneData2);
            pivotOptions2.Append(dropZoneSeries2);
            pivotOptions2.Append(dropZonesVisible2);

            chartSpaceExtension2.Append(pivotOptions2);

            chartSpaceExtensionList2.Append(chartSpaceExtension2);

            chartSpace2.Append(date19042);
            chartSpace2.Append(editingLanguage2);
            chartSpace2.Append(roundedCorners2);
            chartSpace2.Append(alternateContent5);
            chartSpace2.Append(pivotSource2);
            chartSpace2.Append(chart2);
            chartSpace2.Append(shapeProperties10);
            chartSpace2.Append(textProperties4);
            chartSpace2.Append(printSettings2);
            chartSpace2.Append(chartSpaceExtensionList2);

            chartPart2.ChartSpace = chartSpace2;
        }
Beispiel #19
0
        protected CategoryAxisData GenerateCategoryAxisData(IEnumerable<string> data, string columnName)
        {
            CategoryAxisData categoryAxisData1 = new CategoryAxisData();
            StringReference stringReference1 = new StringReference();
            StringCache stringCache1 = new StringCache();

            uint i = 0U;
            foreach (string item in data) {
                StringPoint stringPoint1 = GenerateStringPoint(i++);
                NumericValue numericValue1 = new NumericValue() { Text = item };
                stringPoint1.Append(numericValue1);
                stringCache1.Append(stringPoint1);
            }

            uint count = i++;
            PointCount pointCount1 = new PointCount() { Val = (UInt32Value)count };
            stringCache1.InsertAt(pointCount1, 0);

            Formula formula1 = new Formula();
            formula1.Text = formulaColumn(columnName, 2, count);
            stringReference1.Append(formula1);
            stringReference1.Append(stringCache1);

            categoryAxisData1.Append(stringReference1);
            return categoryAxisData1;
        }
        // Generates content of chartPart5.
        private void GenerateChartPart5Content(ChartPart chartPart5)
        {
            C.ChartSpace chartSpace5 = new C.ChartSpace();
            chartSpace5.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace5.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace5.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19045 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage5 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners5 = new C.RoundedCorners(){ Val = false };

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

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

            alternateContentChoice12.Append(style9);

            AlternateContentFallback alternateContentFallback11 = new AlternateContentFallback();
            C.Style style10 = new C.Style(){ Val = 2 };

            alternateContentFallback11.Append(style10);

            alternateContent12.Append(alternateContentChoice12);
            alternateContent12.Append(alternateContentFallback11);

            C.PivotSource pivotSource5 = new C.PivotSource();
            C.PivotTableName pivotTableName5 = new C.PivotTableName();
            pivotTableName5.Text = "[GeneratedDocument.xlsx]ShowSelectionLabel!PivotTable1";
            C.FormatId formatId5 = new C.FormatId(){ Val = (UInt32Value)12U };

            pivotSource5.Append(pivotTableName5);
            pivotSource5.Append(formatId5);

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

            C.Title title5 = new C.Title();
            C.Overlay overlay9 = new C.Overlay(){ Val = false };

            title5.Append(overlay9);
            C.AutoTitleDeleted autoTitleDeleted5 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats5 = new C.PivotFormats();

            C.PivotFormat pivotFormat26 = new C.PivotFormat();
            C.Index index30 = new C.Index(){ Val = (UInt32Value)0U };

            C.Marker marker26 = new C.Marker();
            C.Symbol symbol26 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker26.Append(symbol26);

            pivotFormat26.Append(index30);
            pivotFormat26.Append(marker26);

            C.PivotFormat pivotFormat27 = new C.PivotFormat();
            C.Index index31 = new C.Index(){ Val = (UInt32Value)1U };

            C.Marker marker27 = new C.Marker();
            C.Symbol symbol27 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker27.Append(symbol27);

            pivotFormat27.Append(index31);
            pivotFormat27.Append(marker27);

            C.PivotFormat pivotFormat28 = new C.PivotFormat();
            C.Index index32 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker28 = new C.Marker();
            C.Symbol symbol28 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker28.Append(symbol28);

            pivotFormat28.Append(index32);
            pivotFormat28.Append(marker28);

            C.PivotFormat pivotFormat29 = new C.PivotFormat();
            C.Index index33 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker29 = new C.Marker();
            C.Symbol symbol29 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker29.Append(symbol29);

            pivotFormat29.Append(index33);
            pivotFormat29.Append(marker29);

            pivotFormats5.Append(pivotFormat26);
            pivotFormats5.Append(pivotFormat27);
            pivotFormats5.Append(pivotFormat28);
            pivotFormats5.Append(pivotFormat29);

            C.PlotArea plotArea5 = new C.PlotArea();
            C.Layout layout5 = new C.Layout();

            C.PieChart pieChart3 = new C.PieChart();
            C.VaryColors varyColors5 = new C.VaryColors(){ Val = true };

            C.PieChartSeries pieChartSeries3 = new C.PieChartSeries();
            C.Index index34 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order5 = new C.Order(){ Val = (UInt32Value)0U };

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

            C.StringReference stringReference9 = new C.StringReference();
            C.Formula formula13 = new C.Formula();
            formula13.Text = "ShowSelectionLabel!$B$1";

            C.StringCache stringCache9 = new C.StringCache();
            C.PointCount pointCount13 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint17 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue29 = new C.NumericValue();
            numericValue29.Text = "Total";

            stringPoint17.Append(numericValue29);

            stringCache9.Append(pointCount13);
            stringCache9.Append(stringPoint17);

            stringReference9.Append(formula13);
            stringReference9.Append(stringCache9);

            seriesText5.Append(stringReference9);

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

            C.StringReference stringReference10 = new C.StringReference();
            C.Formula formula14 = new C.Formula();
            formula14.Text = "ShowSelectionLabel!$A$2:$A$5";

            C.StringCache stringCache10 = new C.StringCache();
            C.PointCount pointCount14 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint18 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue30 = new C.NumericValue();
            numericValue30.Text = "product_A";

            stringPoint18.Append(numericValue30);

            C.StringPoint stringPoint19 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue31 = new C.NumericValue();
            numericValue31.Text = "product_D";

            stringPoint19.Append(numericValue31);

            C.StringPoint stringPoint20 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue32 = new C.NumericValue();
            numericValue32.Text = "product_E";

            stringPoint20.Append(numericValue32);

            stringCache10.Append(pointCount14);
            stringCache10.Append(stringPoint18);
            stringCache10.Append(stringPoint19);
            stringCache10.Append(stringPoint20);

            stringReference10.Append(formula14);
            stringReference10.Append(stringCache10);

            categoryAxisData5.Append(stringReference10);

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

            C.NumberReference numberReference5 = new C.NumberReference();
            C.Formula formula15 = new C.Formula();
            formula15.Text = "ShowSelectionLabel!$B$2:$B$5";

            C.NumberingCache numberingCache5 = new C.NumberingCache();
            C.FormatCode formatCode5 = new C.FormatCode();
            formatCode5.Text = "General";
            C.PointCount pointCount15 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint13 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue33 = new C.NumericValue();
            numericValue33.Text = "19";

            numericPoint13.Append(numericValue33);

            C.NumericPoint numericPoint14 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue34 = new C.NumericValue();
            numericValue34.Text = "13";

            numericPoint14.Append(numericValue34);

            C.NumericPoint numericPoint15 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue35 = new C.NumericValue();
            numericValue35.Text = "33";

            numericPoint15.Append(numericValue35);

            numberingCache5.Append(formatCode5);
            numberingCache5.Append(pointCount15);
            numberingCache5.Append(numericPoint13);
            numberingCache5.Append(numericPoint14);
            numberingCache5.Append(numericPoint15);

            numberReference5.Append(formula15);
            numberReference5.Append(numberingCache5);

            values5.Append(numberReference5);

            pieChartSeries3.Append(index34);
            pieChartSeries3.Append(order5);
            pieChartSeries3.Append(seriesText5);
            pieChartSeries3.Append(categoryAxisData5);
            pieChartSeries3.Append(values5);

            C.DataLabels dataLabels5 = new C.DataLabels();
            C.ShowLegendKey showLegendKey5 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue5 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName5 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName5 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent5 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize5 = new C.ShowBubbleSize(){ Val = false };
            C.ShowLeaderLines showLeaderLines3 = new C.ShowLeaderLines(){ Val = true };

            dataLabels5.Append(showLegendKey5);
            dataLabels5.Append(showValue5);
            dataLabels5.Append(showCategoryName5);
            dataLabels5.Append(showSeriesName5);
            dataLabels5.Append(showPercent5);
            dataLabels5.Append(showBubbleSize5);
            dataLabels5.Append(showLeaderLines3);
            C.FirstSliceAngle firstSliceAngle3 = new C.FirstSliceAngle(){ Val = (UInt16Value)0U };

            pieChart3.Append(varyColors5);
            pieChart3.Append(pieChartSeries3);
            pieChart3.Append(dataLabels5);
            pieChart3.Append(firstSliceAngle3);

            plotArea5.Append(layout5);
            plotArea5.Append(pieChart3);

            C.Legend legend5 = new C.Legend();
            C.LegendPosition legendPosition5 = new C.LegendPosition(){ Val = C.LegendPositionValues.Right };
            C.Overlay overlay10 = new C.Overlay(){ Val = false };

            legend5.Append(legendPosition5);
            legend5.Append(overlay10);
            C.PlotVisibleOnly plotVisibleOnly5 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs5 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum5 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart5.Append(title5);
            chart5.Append(autoTitleDeleted5);
            chart5.Append(pivotFormats5);
            chart5.Append(plotArea5);
            chart5.Append(legend5);
            chart5.Append(plotVisibleOnly5);
            chart5.Append(displayBlanksAs5);
            chart5.Append(showDataLabelsOverMaximum5);

            C.PrintSettings printSettings5 = new C.PrintSettings();
            C.HeaderFooter headerFooter5 = new C.HeaderFooter();
            C.PageMargins pageMargins8 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup5 = new C.PageSetup();

            printSettings5.Append(headerFooter5);
            printSettings5.Append(pageMargins8);
            printSettings5.Append(pageSetup5);

            C.ChartSpaceExtensionList chartSpaceExtensionList5 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList5.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList5.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension5 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension5.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions5 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter5 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories5 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData5 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries5 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible5 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions5.Append(dropZoneFilter5);
            pivotOptions5.Append(dropZoneCategories5);
            pivotOptions5.Append(dropZoneData5);
            pivotOptions5.Append(dropZoneSeries5);
            pivotOptions5.Append(dropZonesVisible5);

            chartSpaceExtension5.Append(pivotOptions5);

            chartSpaceExtensionList5.Append(chartSpaceExtension5);

            chartSpace5.Append(date19045);
            chartSpace5.Append(editingLanguage5);
            chartSpace5.Append(roundedCorners5);
            chartSpace5.Append(alternateContent12);
            chartSpace5.Append(pivotSource5);
            chartSpace5.Append(chart5);
            chartSpace5.Append(printSettings5);
            chartSpace5.Append(chartSpaceExtensionList5);

            chartPart5.ChartSpace = chartSpace5;
        }
Beispiel #21
0
        protected SeriesText GenerateSeriesText(string seriesName, string columnName)
        {
            SeriesText seriesText1 = new SeriesText();

            StringReference stringReference1 = new StringReference();
            Formula formula1 = new Formula();
            formula1.Text = formulaColumn(columnName, 1);

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

            StringPoint stringPoint1 = new StringPoint() { Index = (UInt32Value)0U };
            NumericValue numericValue1 = new NumericValue();
            numericValue1.Text = seriesName;

            stringPoint1.Append(numericValue1);

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

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

            seriesText1.Append(stringReference1);
            return seriesText1;
        }
        internal static CategoryCollection Create(
            SlideChart slideChart,
            OpenXmlElement firstChartSeries,
            ChartType chartType)
        {
            if (chartType == ChartType.BubbleChart || chartType == ChartType.ScatterChart)
            {
                return(null);
            }

            var categoryList = new List <Category>();

            //  Get category data from the first series.
            //  Actually, it can be any series since all chart series contain the same categories.
            //  <c:cat>
            //      <c:strRef>
            //          <c:f>Sheet1!$A$2:$A$3</c:f>
            //          <c:strCache>
            //              <c:ptCount val="2"/>
            //              <c:pt idx="0">
            //                  <c:v>Category 1</c:v>
            //              </c:pt>
            //              <c:pt idx="1">
            //                  <c:v>Category 2</c:v>
            //              </c:pt>
            //          </c:strCache>
            //      </c:strRef>
            //  </c:cat>
            C.CategoryAxisData cCatAxisData = firstChartSeries.GetFirstChild <C.CategoryAxisData>();

            C.MultiLevelStringReference cMultiLvlStringRef = cCatAxisData.MultiLevelStringReference;
            if (cMultiLvlStringRef != null) // is it chart with multi-level category?
            {
                categoryList = GetMultiCategories(cMultiLvlStringRef);
            }
            else
            {
                C.Formula cFormula;
                IEnumerable <C.NumericValue> cachedValues; // C.NumericValue (<c:v>) can store string value
                C.NumberReference            cNumReference = cCatAxisData.NumberReference;
                C.StringReference            cStrReference = cCatAxisData.StringReference;
                if (cNumReference != null)
                {
                    cFormula     = cNumReference.Formula;
                    cachedValues = cNumReference.NumberingCache.Descendants <C.NumericValue>();
                }
                else
                {
                    cFormula     = cStrReference.Formula;
                    cachedValues = cStrReference.StringCache.Descendants <C.NumericValue>();
                }

                int xCellIdx = 0;
                var xCells   = new ResettableLazy <List <X.Cell> >(() =>
                                                                   ChartReferencesParser.GetXCellsByFormula(cFormula, slideChart));
                foreach (C.NumericValue cachedValue in cachedValues)
                {
                    categoryList.Add(new Category(xCells, xCellIdx++, cachedValue));
                }
            }

            return(new CategoryCollection(categoryList));
        }
        // Generates content of chartPart9.
        private void GenerateChartPart9Content(ChartPart chartPart9)
        {
            C.ChartSpace chartSpace9 = new C.ChartSpace();
            chartSpace9.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace9.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace9.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19049 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage9 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners9 = new C.RoundedCorners(){ Val = false };

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

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

            alternateContentChoice20.Append(style17);

            AlternateContentFallback alternateContentFallback19 = new AlternateContentFallback();
            C.Style style18 = new C.Style(){ Val = 2 };

            alternateContentFallback19.Append(style18);

            alternateContent20.Append(alternateContentChoice20);
            alternateContent20.Append(alternateContentFallback19);

            C.PivotSource pivotSource9 = new C.PivotSource();
            C.PivotTableName pivotTableName9 = new C.PivotTableName();
            pivotTableName9.Text = "[GeneratedDocument.xlsx]Style!PivotTable1";
            C.FormatId formatId9 = new C.FormatId(){ Val = (UInt32Value)20U };

            pivotSource9.Append(pivotTableName9);
            pivotSource9.Append(formatId9);

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

            C.Title title9 = new C.Title();
            C.Overlay overlay17 = new C.Overlay(){ Val = false };

            title9.Append(overlay17);
            C.AutoTitleDeleted autoTitleDeleted9 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats9 = new C.PivotFormats();

            C.PivotFormat pivotFormat66 = new C.PivotFormat();
            C.Index index74 = new C.Index(){ Val = (UInt32Value)0U };

            C.Marker marker66 = new C.Marker();
            C.Symbol symbol66 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker66.Append(symbol66);

            pivotFormat66.Append(index74);
            pivotFormat66.Append(marker66);

            C.PivotFormat pivotFormat67 = new C.PivotFormat();
            C.Index index75 = new C.Index(){ Val = (UInt32Value)1U };

            C.Marker marker67 = new C.Marker();
            C.Symbol symbol67 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker67.Append(symbol67);

            pivotFormat67.Append(index75);
            pivotFormat67.Append(marker67);

            C.PivotFormat pivotFormat68 = new C.PivotFormat();
            C.Index index76 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker68 = new C.Marker();
            C.Symbol symbol68 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker68.Append(symbol68);

            pivotFormat68.Append(index76);
            pivotFormat68.Append(marker68);

            C.PivotFormat pivotFormat69 = new C.PivotFormat();
            C.Index index77 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker69 = new C.Marker();
            C.Symbol symbol69 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker69.Append(symbol69);

            pivotFormat69.Append(index77);
            pivotFormat69.Append(marker69);

            C.PivotFormat pivotFormat70 = new C.PivotFormat();
            C.Index index78 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker70 = new C.Marker();
            C.Symbol symbol70 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker70.Append(symbol70);

            pivotFormat70.Append(index78);
            pivotFormat70.Append(marker70);

            C.PivotFormat pivotFormat71 = new C.PivotFormat();
            C.Index index79 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker71 = new C.Marker();
            C.Symbol symbol71 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker71.Append(symbol71);

            pivotFormat71.Append(index79);
            pivotFormat71.Append(marker71);

            C.PivotFormat pivotFormat72 = new C.PivotFormat();
            C.Index index80 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker72 = new C.Marker();
            C.Symbol symbol72 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker72.Append(symbol72);

            pivotFormat72.Append(index80);
            pivotFormat72.Append(marker72);

            C.PivotFormat pivotFormat73 = new C.PivotFormat();
            C.Index index81 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker73 = new C.Marker();
            C.Symbol symbol73 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker73.Append(symbol73);

            pivotFormat73.Append(index81);
            pivotFormat73.Append(marker73);

            pivotFormats9.Append(pivotFormat66);
            pivotFormats9.Append(pivotFormat67);
            pivotFormats9.Append(pivotFormat68);
            pivotFormats9.Append(pivotFormat69);
            pivotFormats9.Append(pivotFormat70);
            pivotFormats9.Append(pivotFormat71);
            pivotFormats9.Append(pivotFormat72);
            pivotFormats9.Append(pivotFormat73);

            C.PlotArea plotArea9 = new C.PlotArea();
            C.Layout layout9 = new C.Layout();

            C.PieChart pieChart5 = new C.PieChart();
            C.VaryColors varyColors9 = new C.VaryColors(){ Val = true };

            C.PieChartSeries pieChartSeries5 = new C.PieChartSeries();
            C.Index index82 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order9 = new C.Order(){ Val = (UInt32Value)0U };

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

            C.StringReference stringReference17 = new C.StringReference();
            C.Formula formula25 = new C.Formula();
            formula25.Text = "Style!$B$1";

            C.StringCache stringCache17 = new C.StringCache();
            C.PointCount pointCount25 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint33 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue57 = new C.NumericValue();
            numericValue57.Text = "Total";

            stringPoint33.Append(numericValue57);

            stringCache17.Append(pointCount25);
            stringCache17.Append(stringPoint33);

            stringReference17.Append(formula25);
            stringReference17.Append(stringCache17);

            seriesText9.Append(stringReference17);

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

            C.StringReference stringReference18 = new C.StringReference();
            C.Formula formula26 = new C.Formula();
            formula26.Text = "Style!$A$2:$A$5";

            C.StringCache stringCache18 = new C.StringCache();
            C.PointCount pointCount26 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint34 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue58 = new C.NumericValue();
            numericValue58.Text = "product_A";

            stringPoint34.Append(numericValue58);

            C.StringPoint stringPoint35 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue59 = new C.NumericValue();
            numericValue59.Text = "product_D";

            stringPoint35.Append(numericValue59);

            C.StringPoint stringPoint36 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue60 = new C.NumericValue();
            numericValue60.Text = "product_E";

            stringPoint36.Append(numericValue60);

            stringCache18.Append(pointCount26);
            stringCache18.Append(stringPoint34);
            stringCache18.Append(stringPoint35);
            stringCache18.Append(stringPoint36);

            stringReference18.Append(formula26);
            stringReference18.Append(stringCache18);

            categoryAxisData9.Append(stringReference18);

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

            C.NumberReference numberReference9 = new C.NumberReference();
            C.Formula formula27 = new C.Formula();
            formula27.Text = "Style!$B$2:$B$5";

            C.NumberingCache numberingCache9 = new C.NumberingCache();
            C.FormatCode formatCode9 = new C.FormatCode();
            formatCode9.Text = "General";
            C.PointCount pointCount27 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint25 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue61 = new C.NumericValue();
            numericValue61.Text = "19";

            numericPoint25.Append(numericValue61);

            C.NumericPoint numericPoint26 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue62 = new C.NumericValue();
            numericValue62.Text = "13";

            numericPoint26.Append(numericValue62);

            C.NumericPoint numericPoint27 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue63 = new C.NumericValue();
            numericValue63.Text = "33";

            numericPoint27.Append(numericValue63);

            numberingCache9.Append(formatCode9);
            numberingCache9.Append(pointCount27);
            numberingCache9.Append(numericPoint25);
            numberingCache9.Append(numericPoint26);
            numberingCache9.Append(numericPoint27);

            numberReference9.Append(formula27);
            numberReference9.Append(numberingCache9);

            values9.Append(numberReference9);

            pieChartSeries5.Append(index82);
            pieChartSeries5.Append(order9);
            pieChartSeries5.Append(seriesText9);
            pieChartSeries5.Append(categoryAxisData9);
            pieChartSeries5.Append(values9);

            C.DataLabels dataLabels9 = new C.DataLabels();
            C.ShowLegendKey showLegendKey9 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue9 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName9 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName9 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent9 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize9 = new C.ShowBubbleSize(){ Val = false };
            C.ShowLeaderLines showLeaderLines5 = new C.ShowLeaderLines(){ Val = true };

            dataLabels9.Append(showLegendKey9);
            dataLabels9.Append(showValue9);
            dataLabels9.Append(showCategoryName9);
            dataLabels9.Append(showSeriesName9);
            dataLabels9.Append(showPercent9);
            dataLabels9.Append(showBubbleSize9);
            dataLabels9.Append(showLeaderLines5);
            C.FirstSliceAngle firstSliceAngle5 = new C.FirstSliceAngle(){ Val = (UInt16Value)0U };

            pieChart5.Append(varyColors9);
            pieChart5.Append(pieChartSeries5);
            pieChart5.Append(dataLabels9);
            pieChart5.Append(firstSliceAngle5);

            plotArea9.Append(layout9);
            plotArea9.Append(pieChart5);

            C.Legend legend9 = new C.Legend();
            C.LegendPosition legendPosition9 = new C.LegendPosition(){ Val = C.LegendPositionValues.Right };
            C.Overlay overlay18 = new C.Overlay(){ Val = false };

            legend9.Append(legendPosition9);
            legend9.Append(overlay18);
            C.PlotVisibleOnly plotVisibleOnly9 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs9 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum9 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart9.Append(title9);
            chart9.Append(autoTitleDeleted9);
            chart9.Append(pivotFormats9);
            chart9.Append(plotArea9);
            chart9.Append(legend9);
            chart9.Append(plotVisibleOnly9);
            chart9.Append(displayBlanksAs9);
            chart9.Append(showDataLabelsOverMaximum9);

            C.PrintSettings printSettings9 = new C.PrintSettings();
            C.HeaderFooter headerFooter9 = new C.HeaderFooter();
            C.PageMargins pageMargins16 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup9 = new C.PageSetup();

            printSettings9.Append(headerFooter9);
            printSettings9.Append(pageMargins16);
            printSettings9.Append(pageSetup9);

            C.ChartSpaceExtensionList chartSpaceExtensionList9 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList9.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList9.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension9 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension9.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions9 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter9 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories9 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData9 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries9 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible9 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions9.Append(dropZoneFilter9);
            pivotOptions9.Append(dropZoneCategories9);
            pivotOptions9.Append(dropZoneData9);
            pivotOptions9.Append(dropZoneSeries9);
            pivotOptions9.Append(dropZonesVisible9);

            chartSpaceExtension9.Append(pivotOptions9);

            chartSpaceExtensionList9.Append(chartSpaceExtension9);

            chartSpace9.Append(date19049);
            chartSpace9.Append(editingLanguage9);
            chartSpace9.Append(roundedCorners9);
            chartSpace9.Append(alternateContent20);
            chartSpace9.Append(pivotSource9);
            chartSpace9.Append(chart9);
            chartSpace9.Append(printSettings9);
            chartSpace9.Append(chartSpaceExtensionList9);

            chartPart9.ChartSpace = chartSpace9;
        }
        // Generates content of chartPart10.
        private void GenerateChartPart10Content(ChartPart chartPart10)
        {
            C.ChartSpace chartSpace10 = new C.ChartSpace();
            chartSpace10.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace10.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace10.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date190410 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage10 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners10 = new C.RoundedCorners(){ Val = false };

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

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

            alternateContentChoice21.Append(style19);

            AlternateContentFallback alternateContentFallback20 = new AlternateContentFallback();
            C.Style style20 = new C.Style(){ Val = 1 };

            alternateContentFallback20.Append(style20);

            alternateContent21.Append(alternateContentChoice21);
            alternateContent21.Append(alternateContentFallback20);

            C.PivotSource pivotSource10 = new C.PivotSource();
            C.PivotTableName pivotTableName10 = new C.PivotTableName();
            pivotTableName10.Text = "[GeneratedDocument.xlsx]Style!PivotTable1";
            C.FormatId formatId10 = new C.FormatId(){ Val = (UInt32Value)19U };

            pivotSource10.Append(pivotTableName10);
            pivotSource10.Append(formatId10);

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

            C.Title title10 = new C.Title();
            C.Overlay overlay19 = new C.Overlay(){ Val = false };

            title10.Append(overlay19);
            C.AutoTitleDeleted autoTitleDeleted10 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats10 = new C.PivotFormats();

            C.PivotFormat pivotFormat74 = new C.PivotFormat();
            C.Index index83 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties32 = new C.ShapeProperties();

            A.SolidFill solidFill60 = new A.SolidFill();

            A.SchemeColor schemeColor40 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint19 = new A.Tint(){ Val = 100000 };

            schemeColor40.Append(tint19);

            solidFill60.Append(schemeColor40);

            A.Outline outline47 = new A.Outline();
            A.NoFill noFill40 = new A.NoFill();

            outline47.Append(noFill40);
            A.EffectList effectList37 = new A.EffectList();

            shapeProperties32.Append(solidFill60);
            shapeProperties32.Append(outline47);
            shapeProperties32.Append(effectList37);

            C.Marker marker74 = new C.Marker();
            C.Symbol symbol74 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker74.Append(symbol74);

            pivotFormat74.Append(index83);
            pivotFormat74.Append(shapeProperties32);
            pivotFormat74.Append(marker74);

            C.PivotFormat pivotFormat75 = new C.PivotFormat();
            C.Index index84 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties33 = new C.ShapeProperties();

            A.SolidFill solidFill61 = new A.SolidFill();

            A.SchemeColor schemeColor41 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint20 = new A.Tint(){ Val = 100000 };

            schemeColor41.Append(tint20);

            solidFill61.Append(schemeColor41);

            A.Outline outline48 = new A.Outline();
            A.NoFill noFill41 = new A.NoFill();

            outline48.Append(noFill41);
            A.EffectList effectList38 = new A.EffectList();

            shapeProperties33.Append(solidFill61);
            shapeProperties33.Append(outline48);
            shapeProperties33.Append(effectList38);

            C.Marker marker75 = new C.Marker();
            C.Symbol symbol75 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker75.Append(symbol75);

            pivotFormat75.Append(index84);
            pivotFormat75.Append(shapeProperties33);
            pivotFormat75.Append(marker75);

            C.PivotFormat pivotFormat76 = new C.PivotFormat();
            C.Index index85 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker76 = new C.Marker();
            C.Symbol symbol76 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker76.Append(symbol76);

            pivotFormat76.Append(index85);
            pivotFormat76.Append(marker76);

            C.PivotFormat pivotFormat77 = new C.PivotFormat();
            C.Index index86 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker77 = new C.Marker();
            C.Symbol symbol77 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker77.Append(symbol77);

            pivotFormat77.Append(index86);
            pivotFormat77.Append(marker77);

            C.PivotFormat pivotFormat78 = new C.PivotFormat();
            C.Index index87 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker78 = new C.Marker();
            C.Symbol symbol78 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker78.Append(symbol78);

            pivotFormat78.Append(index87);
            pivotFormat78.Append(marker78);

            C.PivotFormat pivotFormat79 = new C.PivotFormat();
            C.Index index88 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker79 = new C.Marker();
            C.Symbol symbol79 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker79.Append(symbol79);

            pivotFormat79.Append(index88);
            pivotFormat79.Append(marker79);

            C.PivotFormat pivotFormat80 = new C.PivotFormat();
            C.Index index89 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker80 = new C.Marker();
            C.Symbol symbol80 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker80.Append(symbol80);

            pivotFormat80.Append(index89);
            pivotFormat80.Append(marker80);

            C.PivotFormat pivotFormat81 = new C.PivotFormat();
            C.Index index90 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker81 = new C.Marker();
            C.Symbol symbol81 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker81.Append(symbol81);

            pivotFormat81.Append(index90);
            pivotFormat81.Append(marker81);

            C.PivotFormat pivotFormat82 = new C.PivotFormat();
            C.Index index91 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker82 = new C.Marker();
            C.Symbol symbol82 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker82.Append(symbol82);

            pivotFormat82.Append(index91);
            pivotFormat82.Append(marker82);

            C.PivotFormat pivotFormat83 = new C.PivotFormat();
            C.Index index92 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker83 = new C.Marker();
            C.Symbol symbol83 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker83.Append(symbol83);

            pivotFormat83.Append(index92);
            pivotFormat83.Append(marker83);

            C.PivotFormat pivotFormat84 = new C.PivotFormat();
            C.Index index93 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker84 = new C.Marker();
            C.Symbol symbol84 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker84.Append(symbol84);

            pivotFormat84.Append(index93);
            pivotFormat84.Append(marker84);

            C.PivotFormat pivotFormat85 = new C.PivotFormat();
            C.Index index94 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker85 = new C.Marker();
            C.Symbol symbol85 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker85.Append(symbol85);

            pivotFormat85.Append(index94);
            pivotFormat85.Append(marker85);

            C.PivotFormat pivotFormat86 = new C.PivotFormat();
            C.Index index95 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker86 = new C.Marker();
            C.Symbol symbol86 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker86.Append(symbol86);

            pivotFormat86.Append(index95);
            pivotFormat86.Append(marker86);

            C.PivotFormat pivotFormat87 = new C.PivotFormat();
            C.Index index96 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker87 = new C.Marker();
            C.Symbol symbol87 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker87.Append(symbol87);

            pivotFormat87.Append(index96);
            pivotFormat87.Append(marker87);

            C.PivotFormat pivotFormat88 = new C.PivotFormat();
            C.Index index97 = new C.Index(){ Val = (UInt32Value)14U };

            C.ShapeProperties shapeProperties34 = new C.ShapeProperties();

            A.SolidFill solidFill62 = new A.SolidFill();

            A.SchemeColor schemeColor42 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint21 = new A.Tint(){ Val = 100000 };

            schemeColor42.Append(tint21);

            solidFill62.Append(schemeColor42);

            A.Outline outline49 = new A.Outline();
            A.NoFill noFill42 = new A.NoFill();

            outline49.Append(noFill42);
            A.EffectList effectList39 = new A.EffectList();

            shapeProperties34.Append(solidFill62);
            shapeProperties34.Append(outline49);
            shapeProperties34.Append(effectList39);

            C.Marker marker88 = new C.Marker();
            C.Symbol symbol88 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker88.Append(symbol88);

            pivotFormat88.Append(index97);
            pivotFormat88.Append(shapeProperties34);
            pivotFormat88.Append(marker88);

            C.PivotFormat pivotFormat89 = new C.PivotFormat();
            C.Index index98 = new C.Index(){ Val = (UInt32Value)15U };

            C.ShapeProperties shapeProperties35 = new C.ShapeProperties();

            A.SolidFill solidFill63 = new A.SolidFill();

            A.SchemeColor schemeColor43 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint22 = new A.Tint(){ Val = 100000 };

            schemeColor43.Append(tint22);

            solidFill63.Append(schemeColor43);

            A.Outline outline50 = new A.Outline();
            A.NoFill noFill43 = new A.NoFill();

            outline50.Append(noFill43);
            A.EffectList effectList40 = new A.EffectList();

            shapeProperties35.Append(solidFill63);
            shapeProperties35.Append(outline50);
            shapeProperties35.Append(effectList40);

            C.Marker marker89 = new C.Marker();
            C.Symbol symbol89 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker89.Append(symbol89);

            pivotFormat89.Append(index98);
            pivotFormat89.Append(shapeProperties35);
            pivotFormat89.Append(marker89);

            C.PivotFormat pivotFormat90 = new C.PivotFormat();
            C.Index index99 = new C.Index(){ Val = (UInt32Value)16U };

            C.ShapeProperties shapeProperties36 = new C.ShapeProperties();

            A.SolidFill solidFill64 = new A.SolidFill();

            A.SchemeColor schemeColor44 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint23 = new A.Tint(){ Val = 100000 };

            schemeColor44.Append(tint23);

            solidFill64.Append(schemeColor44);

            A.Outline outline51 = new A.Outline();
            A.NoFill noFill44 = new A.NoFill();

            outline51.Append(noFill44);
            A.EffectList effectList41 = new A.EffectList();

            shapeProperties36.Append(solidFill64);
            shapeProperties36.Append(outline51);
            shapeProperties36.Append(effectList41);

            C.Marker marker90 = new C.Marker();
            C.Symbol symbol90 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker90.Append(symbol90);

            pivotFormat90.Append(index99);
            pivotFormat90.Append(shapeProperties36);
            pivotFormat90.Append(marker90);

            C.PivotFormat pivotFormat91 = new C.PivotFormat();
            C.Index index100 = new C.Index(){ Val = (UInt32Value)17U };

            C.ShapeProperties shapeProperties37 = new C.ShapeProperties();

            A.SolidFill solidFill65 = new A.SolidFill();

            A.SchemeColor schemeColor45 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint24 = new A.Tint(){ Val = 100000 };

            schemeColor45.Append(tint24);

            solidFill65.Append(schemeColor45);

            A.Outline outline52 = new A.Outline();
            A.NoFill noFill45 = new A.NoFill();

            outline52.Append(noFill45);
            A.EffectList effectList42 = new A.EffectList();

            shapeProperties37.Append(solidFill65);
            shapeProperties37.Append(outline52);
            shapeProperties37.Append(effectList42);

            C.Marker marker91 = new C.Marker();
            C.Symbol symbol91 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker91.Append(symbol91);

            pivotFormat91.Append(index100);
            pivotFormat91.Append(shapeProperties37);
            pivotFormat91.Append(marker91);

            C.PivotFormat pivotFormat92 = new C.PivotFormat();
            C.Index index101 = new C.Index(){ Val = (UInt32Value)18U };

            C.ShapeProperties shapeProperties38 = new C.ShapeProperties();

            A.SolidFill solidFill66 = new A.SolidFill();

            A.SchemeColor schemeColor46 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint25 = new A.Tint(){ Val = 100000 };

            schemeColor46.Append(tint25);

            solidFill66.Append(schemeColor46);

            A.Outline outline53 = new A.Outline();
            A.NoFill noFill46 = new A.NoFill();

            outline53.Append(noFill46);
            A.EffectList effectList43 = new A.EffectList();

            shapeProperties38.Append(solidFill66);
            shapeProperties38.Append(outline53);
            shapeProperties38.Append(effectList43);

            C.Marker marker92 = new C.Marker();
            C.Symbol symbol92 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker92.Append(symbol92);

            pivotFormat92.Append(index101);
            pivotFormat92.Append(shapeProperties38);
            pivotFormat92.Append(marker92);

            C.PivotFormat pivotFormat93 = new C.PivotFormat();
            C.Index index102 = new C.Index(){ Val = (UInt32Value)19U };

            C.ShapeProperties shapeProperties39 = new C.ShapeProperties();

            A.SolidFill solidFill67 = new A.SolidFill();

            A.SchemeColor schemeColor47 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint26 = new A.Tint(){ Val = 100000 };

            schemeColor47.Append(tint26);

            solidFill67.Append(schemeColor47);

            A.Outline outline54 = new A.Outline();
            A.NoFill noFill47 = new A.NoFill();

            outline54.Append(noFill47);
            A.EffectList effectList44 = new A.EffectList();

            shapeProperties39.Append(solidFill67);
            shapeProperties39.Append(outline54);
            shapeProperties39.Append(effectList44);

            C.Marker marker93 = new C.Marker();
            C.Symbol symbol93 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker93.Append(symbol93);

            pivotFormat93.Append(index102);
            pivotFormat93.Append(shapeProperties39);
            pivotFormat93.Append(marker93);

            C.PivotFormat pivotFormat94 = new C.PivotFormat();
            C.Index index103 = new C.Index(){ Val = (UInt32Value)20U };

            C.ShapeProperties shapeProperties40 = new C.ShapeProperties();

            A.SolidFill solidFill68 = new A.SolidFill();

            A.SchemeColor schemeColor48 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint27 = new A.Tint(){ Val = 100000 };

            schemeColor48.Append(tint27);

            solidFill68.Append(schemeColor48);

            A.Outline outline55 = new A.Outline();
            A.NoFill noFill48 = new A.NoFill();

            outline55.Append(noFill48);
            A.EffectList effectList45 = new A.EffectList();

            shapeProperties40.Append(solidFill68);
            shapeProperties40.Append(outline55);
            shapeProperties40.Append(effectList45);

            C.Marker marker94 = new C.Marker();
            C.Symbol symbol94 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker94.Append(symbol94);

            pivotFormat94.Append(index103);
            pivotFormat94.Append(shapeProperties40);
            pivotFormat94.Append(marker94);

            pivotFormats10.Append(pivotFormat74);
            pivotFormats10.Append(pivotFormat75);
            pivotFormats10.Append(pivotFormat76);
            pivotFormats10.Append(pivotFormat77);
            pivotFormats10.Append(pivotFormat78);
            pivotFormats10.Append(pivotFormat79);
            pivotFormats10.Append(pivotFormat80);
            pivotFormats10.Append(pivotFormat81);
            pivotFormats10.Append(pivotFormat82);
            pivotFormats10.Append(pivotFormat83);
            pivotFormats10.Append(pivotFormat84);
            pivotFormats10.Append(pivotFormat85);
            pivotFormats10.Append(pivotFormat86);
            pivotFormats10.Append(pivotFormat87);
            pivotFormats10.Append(pivotFormat88);
            pivotFormats10.Append(pivotFormat89);
            pivotFormats10.Append(pivotFormat90);
            pivotFormats10.Append(pivotFormat91);
            pivotFormats10.Append(pivotFormat92);
            pivotFormats10.Append(pivotFormat93);
            pivotFormats10.Append(pivotFormat94);

            C.PlotArea plotArea10 = new C.PlotArea();
            C.Layout layout10 = new C.Layout();

            C.BarChart barChart5 = new C.BarChart();
            C.BarDirection barDirection5 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping5 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors10 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries5 = new C.BarChartSeries();
            C.Index index104 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order10 = new C.Order(){ Val = (UInt32Value)0U };

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

            C.StringReference stringReference19 = new C.StringReference();
            C.Formula formula28 = new C.Formula();
            formula28.Text = "Style!$B$1";

            C.StringCache stringCache19 = new C.StringCache();
            C.PointCount pointCount28 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint37 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue64 = new C.NumericValue();
            numericValue64.Text = "Total";

            stringPoint37.Append(numericValue64);

            stringCache19.Append(pointCount28);
            stringCache19.Append(stringPoint37);

            stringReference19.Append(formula28);
            stringReference19.Append(stringCache19);

            seriesText10.Append(stringReference19);

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

            A.SolidFill solidFill69 = new A.SolidFill();

            A.SchemeColor schemeColor49 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint28 = new A.Tint(){ Val = 100000 };

            schemeColor49.Append(tint28);

            solidFill69.Append(schemeColor49);

            A.Outline outline56 = new A.Outline();
            A.NoFill noFill49 = new A.NoFill();

            outline56.Append(noFill49);
            A.EffectList effectList46 = new A.EffectList();

            chartShapeProperties16.Append(solidFill69);
            chartShapeProperties16.Append(outline56);
            chartShapeProperties16.Append(effectList46);
            C.InvertIfNegative invertIfNegative5 = new C.InvertIfNegative(){ Val = false };

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

            C.StringReference stringReference20 = new C.StringReference();
            C.Formula formula29 = new C.Formula();
            formula29.Text = "Style!$A$2:$A$5";

            C.StringCache stringCache20 = new C.StringCache();
            C.PointCount pointCount29 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint38 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue65 = new C.NumericValue();
            numericValue65.Text = "product_A";

            stringPoint38.Append(numericValue65);

            C.StringPoint stringPoint39 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue66 = new C.NumericValue();
            numericValue66.Text = "product_D";

            stringPoint39.Append(numericValue66);

            C.StringPoint stringPoint40 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue67 = new C.NumericValue();
            numericValue67.Text = "product_E";

            stringPoint40.Append(numericValue67);

            stringCache20.Append(pointCount29);
            stringCache20.Append(stringPoint38);
            stringCache20.Append(stringPoint39);
            stringCache20.Append(stringPoint40);

            stringReference20.Append(formula29);
            stringReference20.Append(stringCache20);

            categoryAxisData10.Append(stringReference20);

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

            C.NumberReference numberReference10 = new C.NumberReference();
            C.Formula formula30 = new C.Formula();
            formula30.Text = "Style!$B$2:$B$5";

            C.NumberingCache numberingCache10 = new C.NumberingCache();
            C.FormatCode formatCode10 = new C.FormatCode();
            formatCode10.Text = "General";
            C.PointCount pointCount30 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint28 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue68 = new C.NumericValue();
            numericValue68.Text = "19";

            numericPoint28.Append(numericValue68);

            C.NumericPoint numericPoint29 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue69 = new C.NumericValue();
            numericValue69.Text = "13";

            numericPoint29.Append(numericValue69);

            C.NumericPoint numericPoint30 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue70 = new C.NumericValue();
            numericValue70.Text = "33";

            numericPoint30.Append(numericValue70);

            numberingCache10.Append(formatCode10);
            numberingCache10.Append(pointCount30);
            numberingCache10.Append(numericPoint28);
            numberingCache10.Append(numericPoint29);
            numberingCache10.Append(numericPoint30);

            numberReference10.Append(formula30);
            numberReference10.Append(numberingCache10);

            values10.Append(numberReference10);

            barChartSeries5.Append(index104);
            barChartSeries5.Append(order10);
            barChartSeries5.Append(seriesText10);
            barChartSeries5.Append(chartShapeProperties16);
            barChartSeries5.Append(invertIfNegative5);
            barChartSeries5.Append(categoryAxisData10);
            barChartSeries5.Append(values10);

            C.DataLabels dataLabels10 = new C.DataLabels();
            C.ShowLegendKey showLegendKey10 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue10 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName10 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName10 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent10 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize10 = new C.ShowBubbleSize(){ Val = false };

            dataLabels10.Append(showLegendKey10);
            dataLabels10.Append(showValue10);
            dataLabels10.Append(showCategoryName10);
            dataLabels10.Append(showSeriesName10);
            dataLabels10.Append(showPercent10);
            dataLabels10.Append(showBubbleSize10);
            C.GapWidth gapWidth5 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap4 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId17 = new C.AxisId(){ Val = (UInt32Value)208842560U };
            C.AxisId axisId18 = new C.AxisId(){ Val = (UInt32Value)208842952U };

            barChart5.Append(barDirection5);
            barChart5.Append(barGrouping5);
            barChart5.Append(varyColors10);
            barChart5.Append(barChartSeries5);
            barChart5.Append(dataLabels10);
            barChart5.Append(gapWidth5);
            barChart5.Append(overlap4);
            barChart5.Append(axisId17);
            barChart5.Append(axisId18);

            C.CategoryAxis categoryAxis5 = new C.CategoryAxis();
            C.AxisId axisId19 = new C.AxisId(){ Val = (UInt32Value)208842560U };

            C.Scaling scaling9 = new C.Scaling();
            C.Orientation orientation9 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling9.Append(orientation9);
            C.Delete delete9 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition9 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat9 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark9 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark9 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition9 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties17 = new C.ChartShapeProperties();
            A.NoFill noFill50 = new A.NoFill();

            A.Outline outline57 = new A.Outline();
            A.NoFill noFill51 = new A.NoFill();

            outline57.Append(noFill51);
            A.EffectList effectList47 = new A.EffectList();

            chartShapeProperties17.Append(noFill50);
            chartShapeProperties17.Append(outline57);
            chartShapeProperties17.Append(effectList47);

            C.TextProperties textProperties13 = new C.TextProperties();
            A.BodyProperties bodyProperties23 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle23 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties13 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties13 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill70 = new A.SolidFill();

            A.SchemeColor schemeColor50 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation16 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset16 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor50.Append(luminanceModulation16);
            schemeColor50.Append(luminanceOffset16);

            solidFill70.Append(schemeColor50);
            A.LatinFont latinFont10 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont10 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont10 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties13.Append(solidFill70);
            defaultRunProperties13.Append(latinFont10);
            defaultRunProperties13.Append(eastAsianFont10);
            defaultRunProperties13.Append(complexScriptFont10);

            paragraphProperties13.Append(defaultRunProperties13);
            A.EndParagraphRunProperties endParagraphRunProperties13 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph23.Append(paragraphProperties13);
            paragraph23.Append(endParagraphRunProperties13);

            textProperties13.Append(bodyProperties23);
            textProperties13.Append(listStyle23);
            textProperties13.Append(paragraph23);
            C.CrossingAxis crossingAxis9 = new C.CrossingAxis(){ Val = (UInt32Value)208842952U };
            C.Crosses crosses9 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled5 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment5 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset5 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels5 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis5.Append(axisId19);
            categoryAxis5.Append(scaling9);
            categoryAxis5.Append(delete9);
            categoryAxis5.Append(axisPosition9);
            categoryAxis5.Append(numberingFormat9);
            categoryAxis5.Append(majorTickMark9);
            categoryAxis5.Append(minorTickMark9);
            categoryAxis5.Append(tickLabelPosition9);
            categoryAxis5.Append(chartShapeProperties17);
            categoryAxis5.Append(textProperties13);
            categoryAxis5.Append(crossingAxis9);
            categoryAxis5.Append(crosses9);
            categoryAxis5.Append(autoLabeled5);
            categoryAxis5.Append(labelAlignment5);
            categoryAxis5.Append(labelOffset5);
            categoryAxis5.Append(noMultiLevelLabels5);

            C.ValueAxis valueAxis5 = new C.ValueAxis();
            C.AxisId axisId20 = new C.AxisId(){ Val = (UInt32Value)208842952U };

            C.Scaling scaling10 = new C.Scaling();
            C.Orientation orientation10 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling10.Append(orientation10);
            C.Delete delete10 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition10 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

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

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

            A.Outline outline58 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill71 = new A.SolidFill();

            A.SchemeColor schemeColor51 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation17 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset17 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor51.Append(luminanceModulation17);
            schemeColor51.Append(luminanceOffset17);

            solidFill71.Append(schemeColor51);
            A.Round round7 = new A.Round();

            outline58.Append(solidFill71);
            outline58.Append(round7);
            A.EffectList effectList48 = new A.EffectList();

            chartShapeProperties18.Append(outline58);
            chartShapeProperties18.Append(effectList48);

            majorGridlines5.Append(chartShapeProperties18);
            C.NumberingFormat numberingFormat10 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark10 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark10 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition10 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties19 = new C.ChartShapeProperties();
            A.NoFill noFill52 = new A.NoFill();

            A.Outline outline59 = new A.Outline();
            A.NoFill noFill53 = new A.NoFill();

            outline59.Append(noFill53);
            A.EffectList effectList49 = new A.EffectList();

            chartShapeProperties19.Append(noFill52);
            chartShapeProperties19.Append(outline59);
            chartShapeProperties19.Append(effectList49);

            C.TextProperties textProperties14 = new C.TextProperties();
            A.BodyProperties bodyProperties24 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle24 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties14 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties14 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill72 = new A.SolidFill();

            A.SchemeColor schemeColor52 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation18 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset18 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor52.Append(luminanceModulation18);
            schemeColor52.Append(luminanceOffset18);

            solidFill72.Append(schemeColor52);
            A.LatinFont latinFont11 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont11 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont11 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties14.Append(solidFill72);
            defaultRunProperties14.Append(latinFont11);
            defaultRunProperties14.Append(eastAsianFont11);
            defaultRunProperties14.Append(complexScriptFont11);

            paragraphProperties14.Append(defaultRunProperties14);
            A.EndParagraphRunProperties endParagraphRunProperties14 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph24.Append(paragraphProperties14);
            paragraph24.Append(endParagraphRunProperties14);

            textProperties14.Append(bodyProperties24);
            textProperties14.Append(listStyle24);
            textProperties14.Append(paragraph24);
            C.CrossingAxis crossingAxis10 = new C.CrossingAxis(){ Val = (UInt32Value)208842560U };
            C.Crosses crosses10 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween5 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis5.Append(axisId20);
            valueAxis5.Append(scaling10);
            valueAxis5.Append(delete10);
            valueAxis5.Append(axisPosition10);
            valueAxis5.Append(majorGridlines5);
            valueAxis5.Append(numberingFormat10);
            valueAxis5.Append(majorTickMark10);
            valueAxis5.Append(minorTickMark10);
            valueAxis5.Append(tickLabelPosition10);
            valueAxis5.Append(chartShapeProperties19);
            valueAxis5.Append(textProperties14);
            valueAxis5.Append(crossingAxis10);
            valueAxis5.Append(crosses10);
            valueAxis5.Append(crossBetween5);

            C.ShapeProperties shapeProperties41 = new C.ShapeProperties();

            A.SolidFill solidFill73 = new A.SolidFill();
            A.SchemeColor schemeColor53 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill73.Append(schemeColor53);

            A.Outline outline60 = new A.Outline();
            A.NoFill noFill54 = new A.NoFill();

            outline60.Append(noFill54);
            A.EffectList effectList50 = new A.EffectList();

            shapeProperties41.Append(solidFill73);
            shapeProperties41.Append(outline60);
            shapeProperties41.Append(effectList50);

            plotArea10.Append(layout10);
            plotArea10.Append(barChart5);
            plotArea10.Append(categoryAxis5);
            plotArea10.Append(valueAxis5);
            plotArea10.Append(shapeProperties41);

            C.Legend legend10 = new C.Legend();
            C.LegendPosition legendPosition10 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay20 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties20 = new C.ChartShapeProperties();
            A.NoFill noFill55 = new A.NoFill();

            A.Outline outline61 = new A.Outline();
            A.NoFill noFill56 = new A.NoFill();

            outline61.Append(noFill56);
            A.EffectList effectList51 = new A.EffectList();

            chartShapeProperties20.Append(noFill55);
            chartShapeProperties20.Append(outline61);
            chartShapeProperties20.Append(effectList51);

            C.TextProperties textProperties15 = new C.TextProperties();
            A.BodyProperties bodyProperties25 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle25 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties15 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties15 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill74 = new A.SolidFill();

            A.SchemeColor schemeColor54 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation19 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset19 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor54.Append(luminanceModulation19);
            schemeColor54.Append(luminanceOffset19);

            solidFill74.Append(schemeColor54);
            A.LatinFont latinFont12 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont12 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont12 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties15.Append(solidFill74);
            defaultRunProperties15.Append(latinFont12);
            defaultRunProperties15.Append(eastAsianFont12);
            defaultRunProperties15.Append(complexScriptFont12);

            paragraphProperties15.Append(defaultRunProperties15);
            A.EndParagraphRunProperties endParagraphRunProperties15 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph25.Append(paragraphProperties15);
            paragraph25.Append(endParagraphRunProperties15);

            textProperties15.Append(bodyProperties25);
            textProperties15.Append(listStyle25);
            textProperties15.Append(paragraph25);

            legend10.Append(legendPosition10);
            legend10.Append(overlay20);
            legend10.Append(chartShapeProperties20);
            legend10.Append(textProperties15);
            C.PlotVisibleOnly plotVisibleOnly10 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs10 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum10 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart10.Append(title10);
            chart10.Append(autoTitleDeleted10);
            chart10.Append(pivotFormats10);
            chart10.Append(plotArea10);
            chart10.Append(legend10);
            chart10.Append(plotVisibleOnly10);
            chart10.Append(displayBlanksAs10);
            chart10.Append(showDataLabelsOverMaximum10);

            C.ShapeProperties shapeProperties42 = new C.ShapeProperties();

            A.SolidFill solidFill75 = new A.SolidFill();
            A.SchemeColor schemeColor55 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill75.Append(schemeColor55);

            A.Outline outline62 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill76 = new A.SolidFill();

            A.SchemeColor schemeColor56 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation20 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset20 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor56.Append(luminanceModulation20);
            schemeColor56.Append(luminanceOffset20);

            solidFill76.Append(schemeColor56);
            A.Round round8 = new A.Round();

            outline62.Append(solidFill76);
            outline62.Append(round8);
            A.EffectList effectList52 = new A.EffectList();

            shapeProperties42.Append(solidFill75);
            shapeProperties42.Append(outline62);
            shapeProperties42.Append(effectList52);

            C.TextProperties textProperties16 = new C.TextProperties();
            A.BodyProperties bodyProperties26 = new A.BodyProperties();
            A.ListStyle listStyle26 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties16 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties16 = new A.DefaultRunProperties();

            paragraphProperties16.Append(defaultRunProperties16);
            A.EndParagraphRunProperties endParagraphRunProperties16 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph26.Append(paragraphProperties16);
            paragraph26.Append(endParagraphRunProperties16);

            textProperties16.Append(bodyProperties26);
            textProperties16.Append(listStyle26);
            textProperties16.Append(paragraph26);

            C.PrintSettings printSettings10 = new C.PrintSettings();
            C.HeaderFooter headerFooter10 = new C.HeaderFooter();
            C.PageMargins pageMargins17 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup10 = new C.PageSetup();

            printSettings10.Append(headerFooter10);
            printSettings10.Append(pageMargins17);
            printSettings10.Append(pageSetup10);

            C.ChartSpaceExtensionList chartSpaceExtensionList10 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList10.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList10.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension10 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension10.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions10 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter10 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories10 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData10 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries10 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible10 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions10.Append(dropZoneFilter10);
            pivotOptions10.Append(dropZoneCategories10);
            pivotOptions10.Append(dropZoneData10);
            pivotOptions10.Append(dropZoneSeries10);
            pivotOptions10.Append(dropZonesVisible10);

            chartSpaceExtension10.Append(pivotOptions10);

            chartSpaceExtensionList10.Append(chartSpaceExtension10);

            chartSpace10.Append(date190410);
            chartSpace10.Append(editingLanguage10);
            chartSpace10.Append(roundedCorners10);
            chartSpace10.Append(alternateContent21);
            chartSpace10.Append(pivotSource10);
            chartSpace10.Append(chart10);
            chartSpace10.Append(shapeProperties42);
            chartSpace10.Append(textProperties16);
            chartSpace10.Append(printSettings10);
            chartSpace10.Append(chartSpaceExtensionList10);

            chartPart10.ChartSpace = chartSpace10;
        }
        private static void GenerateChartPartContentPie(ChartPart chartPart1, 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 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);

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

            run1.Append(text1);

            paragraph1.Append(paragraphProperties1);
            paragraph1.Append(run1);

            richText1.Append(bodyProperties1);
            richText1.Append(listStyle1);
            richText1.Append(paragraph1);

            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.PieChart   pieChart1   = new C.PieChart();
            C.VaryColors varyColors1 = new C.VaryColors()
            {
                Val = true
            };

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

            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 = true
            };
            C.ShowBubbleSize showBubbleSize1 = new C.ShowBubbleSize()
            {
                Val = false
            };
            C.ShowLeaderLines showLeaderLines1 = new C.ShowLeaderLines()
            {
                Val = true
            };

            dataLabels1.Append(showLegendKey1);
            dataLabels1.Append(showValue1);
            dataLabels1.Append(showCategoryName1);
            dataLabels1.Append(showSeriesName1);
            dataLabels1.Append(showPercent1);
            dataLabels1.Append(showBubbleSize1);
            dataLabels1.Append(showLeaderLines1);

            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);

            pieChartSeries1.Append(index1);
            pieChartSeries1.Append(order1);
            pieChartSeries1.Append(dataLabels1);
            pieChartSeries1.Append(categoryAxisData1);
            pieChartSeries1.Append(values1);

            C.DataLabels    dataLabels2    = new C.DataLabels();
            C.ShowLegendKey showLegendKey2 = new C.ShowLegendKey()
            {
                Val = false
            };
            C.ShowValue showValue2 = new C.ShowValue()
            {
                Val = false
            };
            C.ShowCategoryName showCategoryName2 = new C.ShowCategoryName()
            {
                Val = false
            };
            C.ShowSeriesName showSeriesName2 = new C.ShowSeriesName()
            {
                Val = false
            };
            C.ShowPercent showPercent2 = new C.ShowPercent()
            {
                Val = true
            };
            C.ShowBubbleSize showBubbleSize2 = new C.ShowBubbleSize()
            {
                Val = false
            };

            dataLabels2.Append(showLegendKey2);
            dataLabels2.Append(showValue2);
            dataLabels2.Append(showCategoryName2);
            dataLabels2.Append(showSeriesName2);
            dataLabels2.Append(showPercent2);
            dataLabels2.Append(showBubbleSize2);
            C.FirstSliceAngle firstSliceAngle1 = new C.FirstSliceAngle()
            {
                Val = (UInt16Value)0U
            };

            pieChart1.Append(varyColors1);
            pieChart1.Append(pieChartSeries1);
            pieChart1.Append(dataLabels2);
            pieChart1.Append(firstSliceAngle1);

            C.ShapeProperties shapeProperties1 = new C.ShapeProperties();

            A.SolidFill        solidFill4        = new A.SolidFill();
            A.RgbColorModelHex rgbColorModelHex4 = new A.RgbColorModelHex()
            {
                Val = "FFFFFF"
            };

            solidFill4.Append(rgbColorModelHex4);

            shapeProperties1.Append(solidFill4);

            plotArea1.Append(layout1);
            plotArea1.Append(pieChart1);
            plotArea1.Append(shapeProperties1);

            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);

            chartPart1.ChartSpace = chartSpace1;
        }
Beispiel #26
0
        public static Chart.BarChartSeries GenerateBarChartSeries()
        {
            Chart.BarChartSeries barChartSeries1 = new Chart.BarChartSeries();
            Chart.Index          index1          = new Chart.Index()
            {
                Val = (UInt32Value)1U
            };
            Chart.Order order1 = new Chart.Order()
            {
                Val = (UInt32Value)1U
            };

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

            Chart.StringReference stringReference1 = new Chart.StringReference();
            Formula formula1 = new Formula();

            formula1.Text = "Feuil1!$C$2:$C$7";

            Chart.StringCache stringCache1 = new Chart.StringCache();
            Chart.PointCount  pointCount1  = new Chart.PointCount()
            {
                Val = (UInt32Value)6U
            };

            Chart.StringPoint stringPoint1 = new Chart.StringPoint()
            {
                Index = (UInt32Value)0U
            };
            Chart.NumericValue numericValue1 = new Chart.NumericValue();
            numericValue1.Text = "a";

            stringPoint1.Append(numericValue1);

            Chart.StringPoint stringPoint2 = new Chart.StringPoint()
            {
                Index = (UInt32Value)1U
            };
            Chart.NumericValue numericValue2 = new Chart.NumericValue();
            numericValue2.Text = "b";

            stringPoint2.Append(numericValue2);

            Chart.StringPoint stringPoint3 = new Chart.StringPoint()
            {
                Index = (UInt32Value)2U
            };
            Chart.NumericValue numericValue3 = new Chart.NumericValue();
            numericValue3.Text = "c";

            stringPoint3.Append(numericValue3);

            Chart.StringPoint stringPoint4 = new Chart.StringPoint()
            {
                Index = (UInt32Value)3U
            };
            Chart.NumericValue numericValue4 = new Chart.NumericValue();
            numericValue4.Text = "d";

            stringPoint4.Append(numericValue4);

            Chart.StringPoint stringPoint5 = new Chart.StringPoint()
            {
                Index = (UInt32Value)4U
            };
            Chart.NumericValue numericValue5 = new Chart.NumericValue();
            numericValue5.Text = "e";

            stringPoint5.Append(numericValue5);

            Chart.StringPoint stringPoint6 = new Chart.StringPoint()
            {
                Index = (UInt32Value)5U
            };
            Chart.NumericValue numericValue6 = new Chart.NumericValue();
            numericValue6.Text = "f";

            stringPoint6.Append(numericValue6);

            /*stringCache1.Append(pointCount1);
             * stringCache1.Append(stringPoint1);
             * stringCache1.Append(stringPoint2);
             * stringCache1.Append(stringPoint3);
             * stringCache1.Append(stringPoint4);
             * stringCache1.Append(stringPoint5);
             * stringCache1.Append(stringPoint6);
             */
            stringReference1.Append(formula1);
            stringReference1.Append(stringCache1);

            categoryAxisData1.Append(stringReference1);

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

            Chart.NumberReference numberReference1 = new Chart.NumberReference();
            Formula formula2 = new Formula();

            formula2.Text = "Feuil1!$E$2:$E$7";

            Chart.NumberingCache numberingCache1 = new Chart.NumberingCache();
            Chart.FormatCode     formatCode1     = new Chart.FormatCode();
            formatCode1.Text = "General";
            Chart.PointCount pointCount2 = new Chart.PointCount()
            {
                Val = (UInt32Value)6U
            };

            Chart.NumericPoint numericPoint1 = new Chart.NumericPoint()
            {
                Index = (UInt32Value)0U
            };
            Chart.NumericValue numericValue7 = new Chart.NumericValue();
            numericValue7.Text = "80";

            numericPoint1.Append(numericValue7);

            Chart.NumericPoint numericPoint2 = new Chart.NumericPoint()
            {
                Index = (UInt32Value)1U
            };
            Chart.NumericValue numericValue8 = new Chart.NumericValue();
            numericValue8.Text = "90";

            numericPoint2.Append(numericValue8);

            Chart.NumericPoint numericPoint3 = new Chart.NumericPoint()
            {
                Index = (UInt32Value)2U
            };
            Chart.NumericValue numericValue9 = new Chart.NumericValue();
            numericValue9.Text = "60";

            numericPoint3.Append(numericValue9);

            Chart.NumericPoint numericPoint4 = new Chart.NumericPoint()
            {
                Index = (UInt32Value)3U
            };
            Chart.NumericValue numericValue10 = new Chart.NumericValue();
            numericValue10.Text = "80";

            numericPoint4.Append(numericValue10);

            Chart.NumericPoint numericPoint5 = new Chart.NumericPoint()
            {
                Index = (UInt32Value)4U
            };
            Chart.NumericValue numericValue11 = new Chart.NumericValue();
            numericValue11.Text = "100";

            numericPoint5.Append(numericValue11);

            Chart.NumericPoint numericPoint6 = new Chart.NumericPoint()
            {
                Index = (UInt32Value)5U
            };
            Chart.NumericValue numericValue12 = new Chart.NumericValue();
            numericValue12.Text = "100";

            numericPoint6.Append(numericValue12);

            /*
             * numberingCache1.Append(formatCode1);
             * numberingCache1.Append(pointCount2);
             * numberingCache1.Append(numericPoint1);
             * numberingCache1.Append(numericPoint2);
             * numberingCache1.Append(numericPoint3);
             * numberingCache1.Append(numericPoint4);
             * numberingCache1.Append(numericPoint5);
             * numberingCache1.Append(numericPoint6);
             */
            numberReference1.Append(formula2);
            numberReference1.Append(numberingCache1);//

            values1.Append(numberReference1);

            barChartSeries1.Append(index1);
            barChartSeries1.Append(order1);
            barChartSeries1.Append(categoryAxisData1);
            barChartSeries1.Append(values1);

            barChartSeries1.SeriesText = new Chart.SeriesText()
            {
                StringReference =
                    new Chart.StringReference()
                {
                    Formula = new Chart.Formula()
                }
            };

            categoryAxisData1.NumberReference = new Chart.NumberReference()
            {
                Formula = new Chart.Formula()
            };
            values1.NumberReference = new Chart.NumberReference()
            {
                Formula = new Chart.Formula()
            };

            return(barChartSeries1);
        }
        // Generates content of chartPart6.
        private void GenerateChartPart6Content(ChartPart chartPart6)
        {
            C.ChartSpace chartSpace6 = new C.ChartSpace();
            chartSpace6.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace6.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace6.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19046 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage6 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners6 = new C.RoundedCorners(){ Val = false };

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

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

            alternateContentChoice13.Append(style11);

            AlternateContentFallback alternateContentFallback12 = new AlternateContentFallback();
            C.Style style12 = new C.Style(){ Val = 1 };

            alternateContentFallback12.Append(style12);

            alternateContent13.Append(alternateContentChoice13);
            alternateContent13.Append(alternateContentFallback12);

            C.PivotSource pivotSource6 = new C.PivotSource();
            C.PivotTableName pivotTableName6 = new C.PivotTableName();
            pivotTableName6.Text = "[GeneratedDocument.xlsx]ShowSelectionLabel!PivotTable1";
            C.FormatId formatId6 = new C.FormatId(){ Val = (UInt32Value)11U };

            pivotSource6.Append(pivotTableName6);
            pivotSource6.Append(formatId6);

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

            C.Title title6 = new C.Title();
            C.Overlay overlay11 = new C.Overlay(){ Val = false };

            title6.Append(overlay11);
            C.AutoTitleDeleted autoTitleDeleted6 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats6 = new C.PivotFormats();

            C.PivotFormat pivotFormat30 = new C.PivotFormat();
            C.Index index35 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties15 = new C.ShapeProperties();

            A.SolidFill solidFill27 = new A.SolidFill();

            A.SchemeColor schemeColor15 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint8 = new A.Tint(){ Val = 100000 };

            schemeColor15.Append(tint8);

            solidFill27.Append(schemeColor15);

            A.Outline outline20 = new A.Outline();
            A.NoFill noFill15 = new A.NoFill();

            outline20.Append(noFill15);
            A.EffectList effectList14 = new A.EffectList();

            shapeProperties15.Append(solidFill27);
            shapeProperties15.Append(outline20);
            shapeProperties15.Append(effectList14);

            C.Marker marker30 = new C.Marker();
            C.Symbol symbol30 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker30.Append(symbol30);

            pivotFormat30.Append(index35);
            pivotFormat30.Append(shapeProperties15);
            pivotFormat30.Append(marker30);

            C.PivotFormat pivotFormat31 = new C.PivotFormat();
            C.Index index36 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties16 = new C.ShapeProperties();

            A.SolidFill solidFill28 = new A.SolidFill();

            A.SchemeColor schemeColor16 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint9 = new A.Tint(){ Val = 100000 };

            schemeColor16.Append(tint9);

            solidFill28.Append(schemeColor16);

            A.Outline outline21 = new A.Outline();
            A.NoFill noFill16 = new A.NoFill();

            outline21.Append(noFill16);
            A.EffectList effectList15 = new A.EffectList();

            shapeProperties16.Append(solidFill28);
            shapeProperties16.Append(outline21);
            shapeProperties16.Append(effectList15);

            C.Marker marker31 = new C.Marker();
            C.Symbol symbol31 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker31.Append(symbol31);

            pivotFormat31.Append(index36);
            pivotFormat31.Append(shapeProperties16);
            pivotFormat31.Append(marker31);

            C.PivotFormat pivotFormat32 = new C.PivotFormat();
            C.Index index37 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker32 = new C.Marker();
            C.Symbol symbol32 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker32.Append(symbol32);

            pivotFormat32.Append(index37);
            pivotFormat32.Append(marker32);

            C.PivotFormat pivotFormat33 = new C.PivotFormat();
            C.Index index38 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker33 = new C.Marker();
            C.Symbol symbol33 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker33.Append(symbol33);

            pivotFormat33.Append(index38);
            pivotFormat33.Append(marker33);

            C.PivotFormat pivotFormat34 = new C.PivotFormat();
            C.Index index39 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker34 = new C.Marker();
            C.Symbol symbol34 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker34.Append(symbol34);

            pivotFormat34.Append(index39);
            pivotFormat34.Append(marker34);

            C.PivotFormat pivotFormat35 = new C.PivotFormat();
            C.Index index40 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker35 = new C.Marker();
            C.Symbol symbol35 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker35.Append(symbol35);

            pivotFormat35.Append(index40);
            pivotFormat35.Append(marker35);

            C.PivotFormat pivotFormat36 = new C.PivotFormat();
            C.Index index41 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker36 = new C.Marker();
            C.Symbol symbol36 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker36.Append(symbol36);

            pivotFormat36.Append(index41);
            pivotFormat36.Append(marker36);

            C.PivotFormat pivotFormat37 = new C.PivotFormat();
            C.Index index42 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker37 = new C.Marker();
            C.Symbol symbol37 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker37.Append(symbol37);

            pivotFormat37.Append(index42);
            pivotFormat37.Append(marker37);

            C.PivotFormat pivotFormat38 = new C.PivotFormat();
            C.Index index43 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker38 = new C.Marker();
            C.Symbol symbol38 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker38.Append(symbol38);

            pivotFormat38.Append(index43);
            pivotFormat38.Append(marker38);

            C.PivotFormat pivotFormat39 = new C.PivotFormat();
            C.Index index44 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker39 = new C.Marker();
            C.Symbol symbol39 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker39.Append(symbol39);

            pivotFormat39.Append(index44);
            pivotFormat39.Append(marker39);

            C.PivotFormat pivotFormat40 = new C.PivotFormat();
            C.Index index45 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker40 = new C.Marker();
            C.Symbol symbol40 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker40.Append(symbol40);

            pivotFormat40.Append(index45);
            pivotFormat40.Append(marker40);

            C.PivotFormat pivotFormat41 = new C.PivotFormat();
            C.Index index46 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker41 = new C.Marker();
            C.Symbol symbol41 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker41.Append(symbol41);

            pivotFormat41.Append(index46);
            pivotFormat41.Append(marker41);

            C.PivotFormat pivotFormat42 = new C.PivotFormat();
            C.Index index47 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker42 = new C.Marker();
            C.Symbol symbol42 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker42.Append(symbol42);

            pivotFormat42.Append(index47);
            pivotFormat42.Append(marker42);

            C.PivotFormat pivotFormat43 = new C.PivotFormat();
            C.Index index48 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker43 = new C.Marker();
            C.Symbol symbol43 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker43.Append(symbol43);

            pivotFormat43.Append(index48);
            pivotFormat43.Append(marker43);

            C.PivotFormat pivotFormat44 = new C.PivotFormat();
            C.Index index49 = new C.Index(){ Val = (UInt32Value)14U };

            C.ShapeProperties shapeProperties17 = new C.ShapeProperties();

            A.SolidFill solidFill29 = new A.SolidFill();

            A.SchemeColor schemeColor17 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint10 = new A.Tint(){ Val = 100000 };

            schemeColor17.Append(tint10);

            solidFill29.Append(schemeColor17);

            A.Outline outline22 = new A.Outline();
            A.NoFill noFill17 = new A.NoFill();

            outline22.Append(noFill17);
            A.EffectList effectList16 = new A.EffectList();

            shapeProperties17.Append(solidFill29);
            shapeProperties17.Append(outline22);
            shapeProperties17.Append(effectList16);

            C.Marker marker44 = new C.Marker();
            C.Symbol symbol44 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker44.Append(symbol44);

            pivotFormat44.Append(index49);
            pivotFormat44.Append(shapeProperties17);
            pivotFormat44.Append(marker44);

            C.PivotFormat pivotFormat45 = new C.PivotFormat();
            C.Index index50 = new C.Index(){ Val = (UInt32Value)15U };

            C.ShapeProperties shapeProperties18 = new C.ShapeProperties();

            A.SolidFill solidFill30 = new A.SolidFill();

            A.SchemeColor schemeColor18 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint11 = new A.Tint(){ Val = 100000 };

            schemeColor18.Append(tint11);

            solidFill30.Append(schemeColor18);

            A.Outline outline23 = new A.Outline();
            A.NoFill noFill18 = new A.NoFill();

            outline23.Append(noFill18);
            A.EffectList effectList17 = new A.EffectList();

            shapeProperties18.Append(solidFill30);
            shapeProperties18.Append(outline23);
            shapeProperties18.Append(effectList17);

            C.Marker marker45 = new C.Marker();
            C.Symbol symbol45 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker45.Append(symbol45);

            pivotFormat45.Append(index50);
            pivotFormat45.Append(shapeProperties18);
            pivotFormat45.Append(marker45);

            C.PivotFormat pivotFormat46 = new C.PivotFormat();
            C.Index index51 = new C.Index(){ Val = (UInt32Value)16U };

            C.ShapeProperties shapeProperties19 = new C.ShapeProperties();

            A.SolidFill solidFill31 = new A.SolidFill();

            A.SchemeColor schemeColor19 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint12 = new A.Tint(){ Val = 100000 };

            schemeColor19.Append(tint12);

            solidFill31.Append(schemeColor19);

            A.Outline outline24 = new A.Outline();
            A.NoFill noFill19 = new A.NoFill();

            outline24.Append(noFill19);
            A.EffectList effectList18 = new A.EffectList();

            shapeProperties19.Append(solidFill31);
            shapeProperties19.Append(outline24);
            shapeProperties19.Append(effectList18);

            C.Marker marker46 = new C.Marker();
            C.Symbol symbol46 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker46.Append(symbol46);

            pivotFormat46.Append(index51);
            pivotFormat46.Append(shapeProperties19);
            pivotFormat46.Append(marker46);

            pivotFormats6.Append(pivotFormat30);
            pivotFormats6.Append(pivotFormat31);
            pivotFormats6.Append(pivotFormat32);
            pivotFormats6.Append(pivotFormat33);
            pivotFormats6.Append(pivotFormat34);
            pivotFormats6.Append(pivotFormat35);
            pivotFormats6.Append(pivotFormat36);
            pivotFormats6.Append(pivotFormat37);
            pivotFormats6.Append(pivotFormat38);
            pivotFormats6.Append(pivotFormat39);
            pivotFormats6.Append(pivotFormat40);
            pivotFormats6.Append(pivotFormat41);
            pivotFormats6.Append(pivotFormat42);
            pivotFormats6.Append(pivotFormat43);
            pivotFormats6.Append(pivotFormat44);
            pivotFormats6.Append(pivotFormat45);
            pivotFormats6.Append(pivotFormat46);

            C.PlotArea plotArea6 = new C.PlotArea();
            C.Layout layout6 = new C.Layout();

            C.BarChart barChart3 = new C.BarChart();
            C.BarDirection barDirection3 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping3 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors6 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries3 = new C.BarChartSeries();
            C.Index index52 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order6 = new C.Order(){ Val = (UInt32Value)0U };

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

            C.StringReference stringReference11 = new C.StringReference();
            C.Formula formula16 = new C.Formula();
            formula16.Text = "ShowSelectionLabel!$B$1";

            C.StringCache stringCache11 = new C.StringCache();
            C.PointCount pointCount16 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint21 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue36 = new C.NumericValue();
            numericValue36.Text = "Total";

            stringPoint21.Append(numericValue36);

            stringCache11.Append(pointCount16);
            stringCache11.Append(stringPoint21);

            stringReference11.Append(formula16);
            stringReference11.Append(stringCache11);

            seriesText6.Append(stringReference11);

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

            A.SolidFill solidFill32 = new A.SolidFill();

            A.SchemeColor schemeColor20 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint13 = new A.Tint(){ Val = 100000 };

            schemeColor20.Append(tint13);

            solidFill32.Append(schemeColor20);

            A.Outline outline25 = new A.Outline();
            A.NoFill noFill20 = new A.NoFill();

            outline25.Append(noFill20);
            A.EffectList effectList19 = new A.EffectList();

            chartShapeProperties6.Append(solidFill32);
            chartShapeProperties6.Append(outline25);
            chartShapeProperties6.Append(effectList19);
            C.InvertIfNegative invertIfNegative3 = new C.InvertIfNegative(){ Val = false };

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

            C.StringReference stringReference12 = new C.StringReference();
            C.Formula formula17 = new C.Formula();
            formula17.Text = "ShowSelectionLabel!$A$2:$A$5";

            C.StringCache stringCache12 = new C.StringCache();
            C.PointCount pointCount17 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint22 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue37 = new C.NumericValue();
            numericValue37.Text = "product_A";

            stringPoint22.Append(numericValue37);

            C.StringPoint stringPoint23 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue38 = new C.NumericValue();
            numericValue38.Text = "product_D";

            stringPoint23.Append(numericValue38);

            C.StringPoint stringPoint24 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue39 = new C.NumericValue();
            numericValue39.Text = "product_E";

            stringPoint24.Append(numericValue39);

            stringCache12.Append(pointCount17);
            stringCache12.Append(stringPoint22);
            stringCache12.Append(stringPoint23);
            stringCache12.Append(stringPoint24);

            stringReference12.Append(formula17);
            stringReference12.Append(stringCache12);

            categoryAxisData6.Append(stringReference12);

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

            C.NumberReference numberReference6 = new C.NumberReference();
            C.Formula formula18 = new C.Formula();
            formula18.Text = "ShowSelectionLabel!$B$2:$B$5";

            C.NumberingCache numberingCache6 = new C.NumberingCache();
            C.FormatCode formatCode6 = new C.FormatCode();
            formatCode6.Text = "General";
            C.PointCount pointCount18 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint16 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue40 = new C.NumericValue();
            numericValue40.Text = "19";

            numericPoint16.Append(numericValue40);

            C.NumericPoint numericPoint17 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue41 = new C.NumericValue();
            numericValue41.Text = "13";

            numericPoint17.Append(numericValue41);

            C.NumericPoint numericPoint18 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue42 = new C.NumericValue();
            numericValue42.Text = "33";

            numericPoint18.Append(numericValue42);

            numberingCache6.Append(formatCode6);
            numberingCache6.Append(pointCount18);
            numberingCache6.Append(numericPoint16);
            numberingCache6.Append(numericPoint17);
            numberingCache6.Append(numericPoint18);

            numberReference6.Append(formula18);
            numberReference6.Append(numberingCache6);

            values6.Append(numberReference6);

            barChartSeries3.Append(index52);
            barChartSeries3.Append(order6);
            barChartSeries3.Append(seriesText6);
            barChartSeries3.Append(chartShapeProperties6);
            barChartSeries3.Append(invertIfNegative3);
            barChartSeries3.Append(categoryAxisData6);
            barChartSeries3.Append(values6);

            C.DataLabels dataLabels6 = new C.DataLabels();
            C.ShowLegendKey showLegendKey6 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue6 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName6 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName6 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent6 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize6 = new C.ShowBubbleSize(){ Val = false };

            dataLabels6.Append(showLegendKey6);
            dataLabels6.Append(showValue6);
            dataLabels6.Append(showCategoryName6);
            dataLabels6.Append(showSeriesName6);
            dataLabels6.Append(showPercent6);
            dataLabels6.Append(showBubbleSize6);
            C.GapWidth gapWidth3 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap2 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId9 = new C.AxisId(){ Val = (UInt32Value)209979552U };
            C.AxisId axisId10 = new C.AxisId(){ Val = (UInt32Value)209979944U };

            barChart3.Append(barDirection3);
            barChart3.Append(barGrouping3);
            barChart3.Append(varyColors6);
            barChart3.Append(barChartSeries3);
            barChart3.Append(dataLabels6);
            barChart3.Append(gapWidth3);
            barChart3.Append(overlap2);
            barChart3.Append(axisId9);
            barChart3.Append(axisId10);

            C.CategoryAxis categoryAxis3 = new C.CategoryAxis();
            C.AxisId axisId11 = new C.AxisId(){ Val = (UInt32Value)209979552U };

            C.Scaling scaling5 = new C.Scaling();
            C.Orientation orientation5 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling5.Append(orientation5);
            C.Delete delete5 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition5 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat5 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark5 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark5 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition5 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties7 = new C.ChartShapeProperties();
            A.NoFill noFill21 = new A.NoFill();

            A.Outline outline26 = new A.Outline();
            A.NoFill noFill22 = new A.NoFill();

            outline26.Append(noFill22);
            A.EffectList effectList20 = new A.EffectList();

            chartShapeProperties7.Append(noFill21);
            chartShapeProperties7.Append(outline26);
            chartShapeProperties7.Append(effectList20);

            C.TextProperties textProperties5 = new C.TextProperties();
            A.BodyProperties bodyProperties11 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle11 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties5 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties5 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill33 = new A.SolidFill();

            A.SchemeColor schemeColor21 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation6 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset6 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor21.Append(luminanceModulation6);
            schemeColor21.Append(luminanceOffset6);

            solidFill33.Append(schemeColor21);
            A.LatinFont latinFont4 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont4 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont4 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties5.Append(solidFill33);
            defaultRunProperties5.Append(latinFont4);
            defaultRunProperties5.Append(eastAsianFont4);
            defaultRunProperties5.Append(complexScriptFont4);

            paragraphProperties5.Append(defaultRunProperties5);
            A.EndParagraphRunProperties endParagraphRunProperties5 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph11.Append(paragraphProperties5);
            paragraph11.Append(endParagraphRunProperties5);

            textProperties5.Append(bodyProperties11);
            textProperties5.Append(listStyle11);
            textProperties5.Append(paragraph11);
            C.CrossingAxis crossingAxis5 = new C.CrossingAxis(){ Val = (UInt32Value)209979944U };
            C.Crosses crosses5 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled3 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment3 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset3 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels3 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis3.Append(axisId11);
            categoryAxis3.Append(scaling5);
            categoryAxis3.Append(delete5);
            categoryAxis3.Append(axisPosition5);
            categoryAxis3.Append(numberingFormat5);
            categoryAxis3.Append(majorTickMark5);
            categoryAxis3.Append(minorTickMark5);
            categoryAxis3.Append(tickLabelPosition5);
            categoryAxis3.Append(chartShapeProperties7);
            categoryAxis3.Append(textProperties5);
            categoryAxis3.Append(crossingAxis5);
            categoryAxis3.Append(crosses5);
            categoryAxis3.Append(autoLabeled3);
            categoryAxis3.Append(labelAlignment3);
            categoryAxis3.Append(labelOffset3);
            categoryAxis3.Append(noMultiLevelLabels3);

            C.ValueAxis valueAxis3 = new C.ValueAxis();
            C.AxisId axisId12 = new C.AxisId(){ Val = (UInt32Value)209979944U };

            C.Scaling scaling6 = new C.Scaling();
            C.Orientation orientation6 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling6.Append(orientation6);
            C.Delete delete6 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition6 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

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

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

            A.Outline outline27 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill34 = new A.SolidFill();

            A.SchemeColor schemeColor22 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation7 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset7 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor22.Append(luminanceModulation7);
            schemeColor22.Append(luminanceOffset7);

            solidFill34.Append(schemeColor22);
            A.Round round3 = new A.Round();

            outline27.Append(solidFill34);
            outline27.Append(round3);
            A.EffectList effectList21 = new A.EffectList();

            chartShapeProperties8.Append(outline27);
            chartShapeProperties8.Append(effectList21);

            majorGridlines3.Append(chartShapeProperties8);
            C.NumberingFormat numberingFormat6 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark6 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark6 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition6 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties9 = new C.ChartShapeProperties();
            A.NoFill noFill23 = new A.NoFill();

            A.Outline outline28 = new A.Outline();
            A.NoFill noFill24 = new A.NoFill();

            outline28.Append(noFill24);
            A.EffectList effectList22 = new A.EffectList();

            chartShapeProperties9.Append(noFill23);
            chartShapeProperties9.Append(outline28);
            chartShapeProperties9.Append(effectList22);

            C.TextProperties textProperties6 = new C.TextProperties();
            A.BodyProperties bodyProperties12 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle12 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties6 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties6 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill35 = new A.SolidFill();

            A.SchemeColor schemeColor23 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation8 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset8 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor23.Append(luminanceModulation8);
            schemeColor23.Append(luminanceOffset8);

            solidFill35.Append(schemeColor23);
            A.LatinFont latinFont5 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont5 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont5 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties6.Append(solidFill35);
            defaultRunProperties6.Append(latinFont5);
            defaultRunProperties6.Append(eastAsianFont5);
            defaultRunProperties6.Append(complexScriptFont5);

            paragraphProperties6.Append(defaultRunProperties6);
            A.EndParagraphRunProperties endParagraphRunProperties6 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph12.Append(paragraphProperties6);
            paragraph12.Append(endParagraphRunProperties6);

            textProperties6.Append(bodyProperties12);
            textProperties6.Append(listStyle12);
            textProperties6.Append(paragraph12);
            C.CrossingAxis crossingAxis6 = new C.CrossingAxis(){ Val = (UInt32Value)209979552U };
            C.Crosses crosses6 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween3 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis3.Append(axisId12);
            valueAxis3.Append(scaling6);
            valueAxis3.Append(delete6);
            valueAxis3.Append(axisPosition6);
            valueAxis3.Append(majorGridlines3);
            valueAxis3.Append(numberingFormat6);
            valueAxis3.Append(majorTickMark6);
            valueAxis3.Append(minorTickMark6);
            valueAxis3.Append(tickLabelPosition6);
            valueAxis3.Append(chartShapeProperties9);
            valueAxis3.Append(textProperties6);
            valueAxis3.Append(crossingAxis6);
            valueAxis3.Append(crosses6);
            valueAxis3.Append(crossBetween3);

            C.ShapeProperties shapeProperties20 = new C.ShapeProperties();

            A.SolidFill solidFill36 = new A.SolidFill();
            A.SchemeColor schemeColor24 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill36.Append(schemeColor24);

            A.Outline outline29 = new A.Outline();
            A.NoFill noFill25 = new A.NoFill();

            outline29.Append(noFill25);
            A.EffectList effectList23 = new A.EffectList();

            shapeProperties20.Append(solidFill36);
            shapeProperties20.Append(outline29);
            shapeProperties20.Append(effectList23);

            plotArea6.Append(layout6);
            plotArea6.Append(barChart3);
            plotArea6.Append(categoryAxis3);
            plotArea6.Append(valueAxis3);
            plotArea6.Append(shapeProperties20);

            C.Legend legend6 = new C.Legend();
            C.LegendPosition legendPosition6 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay12 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties10 = new C.ChartShapeProperties();
            A.NoFill noFill26 = new A.NoFill();

            A.Outline outline30 = new A.Outline();
            A.NoFill noFill27 = new A.NoFill();

            outline30.Append(noFill27);
            A.EffectList effectList24 = new A.EffectList();

            chartShapeProperties10.Append(noFill26);
            chartShapeProperties10.Append(outline30);
            chartShapeProperties10.Append(effectList24);

            C.TextProperties textProperties7 = new C.TextProperties();
            A.BodyProperties bodyProperties13 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle13 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties7 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties7 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill37 = new A.SolidFill();

            A.SchemeColor schemeColor25 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation9 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset9 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor25.Append(luminanceModulation9);
            schemeColor25.Append(luminanceOffset9);

            solidFill37.Append(schemeColor25);
            A.LatinFont latinFont6 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont6 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont6 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties7.Append(solidFill37);
            defaultRunProperties7.Append(latinFont6);
            defaultRunProperties7.Append(eastAsianFont6);
            defaultRunProperties7.Append(complexScriptFont6);

            paragraphProperties7.Append(defaultRunProperties7);
            A.EndParagraphRunProperties endParagraphRunProperties7 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph13.Append(paragraphProperties7);
            paragraph13.Append(endParagraphRunProperties7);

            textProperties7.Append(bodyProperties13);
            textProperties7.Append(listStyle13);
            textProperties7.Append(paragraph13);

            legend6.Append(legendPosition6);
            legend6.Append(overlay12);
            legend6.Append(chartShapeProperties10);
            legend6.Append(textProperties7);
            C.PlotVisibleOnly plotVisibleOnly6 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs6 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum6 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart6.Append(title6);
            chart6.Append(autoTitleDeleted6);
            chart6.Append(pivotFormats6);
            chart6.Append(plotArea6);
            chart6.Append(legend6);
            chart6.Append(plotVisibleOnly6);
            chart6.Append(displayBlanksAs6);
            chart6.Append(showDataLabelsOverMaximum6);

            C.ShapeProperties shapeProperties21 = new C.ShapeProperties();

            A.SolidFill solidFill38 = new A.SolidFill();
            A.SchemeColor schemeColor26 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill38.Append(schemeColor26);

            A.Outline outline31 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill39 = new A.SolidFill();

            A.SchemeColor schemeColor27 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation10 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset10 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor27.Append(luminanceModulation10);
            schemeColor27.Append(luminanceOffset10);

            solidFill39.Append(schemeColor27);
            A.Round round4 = new A.Round();

            outline31.Append(solidFill39);
            outline31.Append(round4);
            A.EffectList effectList25 = new A.EffectList();

            shapeProperties21.Append(solidFill38);
            shapeProperties21.Append(outline31);
            shapeProperties21.Append(effectList25);

            C.TextProperties textProperties8 = new C.TextProperties();
            A.BodyProperties bodyProperties14 = new A.BodyProperties();
            A.ListStyle listStyle14 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties8 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties8 = new A.DefaultRunProperties();

            paragraphProperties8.Append(defaultRunProperties8);
            A.EndParagraphRunProperties endParagraphRunProperties8 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph14.Append(paragraphProperties8);
            paragraph14.Append(endParagraphRunProperties8);

            textProperties8.Append(bodyProperties14);
            textProperties8.Append(listStyle14);
            textProperties8.Append(paragraph14);

            C.PrintSettings printSettings6 = new C.PrintSettings();
            C.HeaderFooter headerFooter6 = new C.HeaderFooter();
            C.PageMargins pageMargins9 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup6 = new C.PageSetup();

            printSettings6.Append(headerFooter6);
            printSettings6.Append(pageMargins9);
            printSettings6.Append(pageSetup6);

            C.ChartSpaceExtensionList chartSpaceExtensionList6 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList6.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList6.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension6 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension6.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions6 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter6 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories6 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData6 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries6 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible6 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions6.Append(dropZoneFilter6);
            pivotOptions6.Append(dropZoneCategories6);
            pivotOptions6.Append(dropZoneData6);
            pivotOptions6.Append(dropZoneSeries6);
            pivotOptions6.Append(dropZonesVisible6);

            chartSpaceExtension6.Append(pivotOptions6);

            chartSpaceExtensionList6.Append(chartSpaceExtension6);

            chartSpace6.Append(date19046);
            chartSpace6.Append(editingLanguage6);
            chartSpace6.Append(roundedCorners6);
            chartSpace6.Append(alternateContent13);
            chartSpace6.Append(pivotSource6);
            chartSpace6.Append(chart6);
            chartSpace6.Append(shapeProperties21);
            chartSpace6.Append(textProperties8);
            chartSpace6.Append(printSettings6);
            chartSpace6.Append(chartSpaceExtensionList6);

            chartPart6.ChartSpace = chartSpace6;
        }
        // Generates content of chartPart11.
        private void GenerateChartPart11Content(ChartPart chartPart11)
        {
            C.ChartSpace chartSpace11 = new C.ChartSpace();
            chartSpace11.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace11.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace11.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date190411 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage11 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners11 = new C.RoundedCorners(){ Val = false };

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

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

            alternateContentChoice24.Append(style21);

            AlternateContentFallback alternateContentFallback23 = new AlternateContentFallback();
            C.Style style22 = new C.Style(){ Val = 2 };

            alternateContentFallback23.Append(style22);

            alternateContent24.Append(alternateContentChoice24);
            alternateContent24.Append(alternateContentFallback23);

            C.PivotSource pivotSource11 = new C.PivotSource();
            C.PivotTableName pivotTableName11 = new C.PivotTableName();
            pivotTableName11.Text = "[GeneratedDocument.xlsx]Caption!PivotTable1";
            C.FormatId formatId11 = new C.FormatId(){ Val = (UInt32Value)8U };

            pivotSource11.Append(pivotTableName11);
            pivotSource11.Append(formatId11);

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

            C.Title title11 = new C.Title();
            C.Overlay overlay21 = new C.Overlay(){ Val = false };

            title11.Append(overlay21);
            C.AutoTitleDeleted autoTitleDeleted11 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats11 = new C.PivotFormats();

            C.PivotFormat pivotFormat95 = new C.PivotFormat();
            C.Index index105 = new C.Index(){ Val = (UInt32Value)0U };

            C.Marker marker95 = new C.Marker();
            C.Symbol symbol95 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker95.Append(symbol95);

            pivotFormat95.Append(index105);
            pivotFormat95.Append(marker95);

            C.PivotFormat pivotFormat96 = new C.PivotFormat();
            C.Index index106 = new C.Index(){ Val = (UInt32Value)1U };

            C.Marker marker96 = new C.Marker();
            C.Symbol symbol96 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker96.Append(symbol96);

            pivotFormat96.Append(index106);
            pivotFormat96.Append(marker96);

            pivotFormats11.Append(pivotFormat95);
            pivotFormats11.Append(pivotFormat96);

            C.PlotArea plotArea11 = new C.PlotArea();
            C.Layout layout11 = new C.Layout();

            C.PieChart pieChart6 = new C.PieChart();
            C.VaryColors varyColors11 = new C.VaryColors(){ Val = true };

            C.PieChartSeries pieChartSeries6 = new C.PieChartSeries();
            C.Index index107 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order11 = new C.Order(){ Val = (UInt32Value)0U };

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

            C.StringReference stringReference21 = new C.StringReference();
            C.Formula formula31 = new C.Formula();
            formula31.Text = "Caption!$B$1";

            C.StringCache stringCache21 = new C.StringCache();
            C.PointCount pointCount31 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint41 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue71 = new C.NumericValue();
            numericValue71.Text = "Total";

            stringPoint41.Append(numericValue71);

            stringCache21.Append(pointCount31);
            stringCache21.Append(stringPoint41);

            stringReference21.Append(formula31);
            stringReference21.Append(stringCache21);

            seriesText11.Append(stringReference21);

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

            C.StringReference stringReference22 = new C.StringReference();
            C.Formula formula32 = new C.Formula();
            formula32.Text = "Caption!$A$2:$A$5";

            C.StringCache stringCache22 = new C.StringCache();
            C.PointCount pointCount32 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint42 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue72 = new C.NumericValue();
            numericValue72.Text = "product_A";

            stringPoint42.Append(numericValue72);

            C.StringPoint stringPoint43 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue73 = new C.NumericValue();
            numericValue73.Text = "product_D";

            stringPoint43.Append(numericValue73);

            C.StringPoint stringPoint44 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue74 = new C.NumericValue();
            numericValue74.Text = "product_E";

            stringPoint44.Append(numericValue74);

            stringCache22.Append(pointCount32);
            stringCache22.Append(stringPoint42);
            stringCache22.Append(stringPoint43);
            stringCache22.Append(stringPoint44);

            stringReference22.Append(formula32);
            stringReference22.Append(stringCache22);

            categoryAxisData11.Append(stringReference22);

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

            C.NumberReference numberReference11 = new C.NumberReference();
            C.Formula formula33 = new C.Formula();
            formula33.Text = "Caption!$B$2:$B$5";

            C.NumberingCache numberingCache11 = new C.NumberingCache();
            C.FormatCode formatCode11 = new C.FormatCode();
            formatCode11.Text = "General";
            C.PointCount pointCount33 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint31 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue75 = new C.NumericValue();
            numericValue75.Text = "19";

            numericPoint31.Append(numericValue75);

            C.NumericPoint numericPoint32 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue76 = new C.NumericValue();
            numericValue76.Text = "13";

            numericPoint32.Append(numericValue76);

            C.NumericPoint numericPoint33 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue77 = new C.NumericValue();
            numericValue77.Text = "33";

            numericPoint33.Append(numericValue77);

            numberingCache11.Append(formatCode11);
            numberingCache11.Append(pointCount33);
            numberingCache11.Append(numericPoint31);
            numberingCache11.Append(numericPoint32);
            numberingCache11.Append(numericPoint33);

            numberReference11.Append(formula33);
            numberReference11.Append(numberingCache11);

            values11.Append(numberReference11);

            pieChartSeries6.Append(index107);
            pieChartSeries6.Append(order11);
            pieChartSeries6.Append(seriesText11);
            pieChartSeries6.Append(categoryAxisData11);
            pieChartSeries6.Append(values11);

            C.DataLabels dataLabels11 = new C.DataLabels();
            C.ShowLegendKey showLegendKey11 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue11 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName11 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName11 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent11 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize11 = new C.ShowBubbleSize(){ Val = false };
            C.ShowLeaderLines showLeaderLines6 = new C.ShowLeaderLines(){ Val = true };

            dataLabels11.Append(showLegendKey11);
            dataLabels11.Append(showValue11);
            dataLabels11.Append(showCategoryName11);
            dataLabels11.Append(showSeriesName11);
            dataLabels11.Append(showPercent11);
            dataLabels11.Append(showBubbleSize11);
            dataLabels11.Append(showLeaderLines6);
            C.FirstSliceAngle firstSliceAngle6 = new C.FirstSliceAngle(){ Val = (UInt16Value)0U };

            pieChart6.Append(varyColors11);
            pieChart6.Append(pieChartSeries6);
            pieChart6.Append(dataLabels11);
            pieChart6.Append(firstSliceAngle6);

            plotArea11.Append(layout11);
            plotArea11.Append(pieChart6);

            C.Legend legend11 = new C.Legend();
            C.LegendPosition legendPosition11 = new C.LegendPosition(){ Val = C.LegendPositionValues.Right };
            C.Overlay overlay22 = new C.Overlay(){ Val = false };

            legend11.Append(legendPosition11);
            legend11.Append(overlay22);
            C.PlotVisibleOnly plotVisibleOnly11 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs11 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum11 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart11.Append(title11);
            chart11.Append(autoTitleDeleted11);
            chart11.Append(pivotFormats11);
            chart11.Append(plotArea11);
            chart11.Append(legend11);
            chart11.Append(plotVisibleOnly11);
            chart11.Append(displayBlanksAs11);
            chart11.Append(showDataLabelsOverMaximum11);

            C.PrintSettings printSettings11 = new C.PrintSettings();
            C.HeaderFooter headerFooter11 = new C.HeaderFooter();
            C.PageMargins pageMargins19 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup11 = new C.PageSetup();

            printSettings11.Append(headerFooter11);
            printSettings11.Append(pageMargins19);
            printSettings11.Append(pageSetup11);

            C.ChartSpaceExtensionList chartSpaceExtensionList11 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList11.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList11.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension11 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension11.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions11 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter11 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories11 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData11 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries11 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible11 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions11.Append(dropZoneFilter11);
            pivotOptions11.Append(dropZoneCategories11);
            pivotOptions11.Append(dropZoneData11);
            pivotOptions11.Append(dropZoneSeries11);
            pivotOptions11.Append(dropZonesVisible11);

            chartSpaceExtension11.Append(pivotOptions11);

            chartSpaceExtensionList11.Append(chartSpaceExtension11);

            chartSpace11.Append(date190411);
            chartSpace11.Append(editingLanguage11);
            chartSpace11.Append(roundedCorners11);
            chartSpace11.Append(alternateContent24);
            chartSpace11.Append(pivotSource11);
            chartSpace11.Append(chart11);
            chartSpace11.Append(printSettings11);
            chartSpace11.Append(chartSpaceExtensionList11);

            chartPart11.ChartSpace = chartSpace11;
        }
        /// <summary>
        /// Create a bargraph inside a word document
        /// </summary>
        /// <param name="chartModel">Graph model</param>
        /// <param name="showLegend"></param>
        /// <param name="title"></param>
        /// <param name="maxWidth"></param>
        /// <param name="maxHeight"></param>
        /// <exception cref="ChartModelException"></exception>
        /// <returns></returns>
        private static Run CreateBarGraph(BarModel chartModel, OpenXmlPart documentPart)
        {
            if (chartModel.Categories == null)
            {
                throw new ArgumentNullException("categories of chartModel must not be null");
            }
            if (chartModel.Series == null)
            {
                throw new ArgumentNullException("series of chartModel must be not null");
            }

            int countCategories = chartModel.Categories.Count;

            // Check that number of categories equals number of items in series
            var ok = chartModel.Series.Count(e => e.Values.Count != countCategories) == 0;

            if (!ok)
            {
                throw new ChartModelException("Error in series. Serie values must have same count as categories.", "004-001");
            }

            // Add a new chart and set the chart language to English-US.
            ChartPart chartPart = documentPart.AddNewPart <ChartPart>();

            chartPart.ChartSpace = new dc.ChartSpace();
            chartPart.ChartSpace.Append(new dc.EditingLanguage()
            {
                Val = new StringValue("en-US")
            });
            chartPart.ChartSpace.Append(new dc.RoundedCorners {
                Val = new BooleanValue(chartModel.RoundedCorner)
            });
            dc.Chart chart = chartPart.ChartSpace.AppendChild
                             <DocumentFormat.OpenXml.Drawing.Charts.Chart>
                                 (new dc.Chart());

            // Ajout du titre au graphique
            if (chartModel.ShowTitle)
            {
                dc.Title titleChart = chart.AppendChild <dc.Title>(new dc.Title());
                titleChart.AppendChild(new dc.ChartText(new dc.RichText(
                                                            new A.BodyProperties(),
                                                            new A.ListStyle(),
                                                            new A.Paragraph(new A.Run(new A.Text(chartModel.Title))))));
                titleChart.AppendChild(new dc.Overlay()
                {
                    Val = false
                });
            }

            // Create a new clustered column chart.
            dc.PlotArea plotArea = chart.AppendChild <dc.PlotArea>(new dc.PlotArea());
            dc.Layout   layout   = plotArea.AppendChild <dc.Layout>(new dc.Layout());
            dc.BarChart barChart = plotArea.AppendChild <dc.BarChart>(new dc.BarChart(new dc.BarDirection()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.BarDirectionValues>((dc.BarDirectionValues)(int) chartModel.BarDirectionValues)
            },
                                                                                      new dc.BarGrouping()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.BarGroupingValues>((dc.BarGroupingValues)(int) chartModel.BarGroupingValues)
            }));

            uint i = 0;
            uint p = 0;

            // Iterate through each key in the Dictionary collection and add the key to the chart Series
            // and add the corresponding value to the chart Values.
            foreach (var serie in chartModel.Series)
            {
                // Gestion des séries
                dc.BarChartSeries barChartSeries = barChart.AppendChild <dc.BarChartSeries>
                                                       (new dc.BarChartSeries(new dc.Index()
                {
                    Val = i
                },
                                                                              new dc.Order()
                {
                    Val = i
                }, new dc.SeriesText(new dc.StringReference(new dc.StringCache(
                                                                new dc.PointCount()
                {
                    Val = new UInt32Value(1U)
                },
                                                                new dc.StringPoint()
                {
                    Index = (uint)0, NumericValue = new dc.NumericValue()
                    {
                        Text = serie.Name
                    }
                })))));

                // Gestion de la couleur de la série
                if (!string.IsNullOrWhiteSpace(serie.Color))
                {
                    string color = serie.Color;
                    color = color.Replace("#", "");
                    if (!Regex.IsMatch(color, "^[0-9-A-F]{6}$"))
                    {
                        throw new Exception("Error in color of serie.");
                    }

                    barChartSeries.AppendChild <A.ShapeProperties>(new A.ShapeProperties(new A.SolidFill()
                    {
                        RgbColorModelHex = new A.RgbColorModelHex()
                        {
                            Val = color
                        }
                    }));
                }

                // Gestion des catégories
                dc.StringReference strLit = barChartSeries.AppendChild <dc.CategoryAxisData>
                                                (new dc.CategoryAxisData()).AppendChild <dc.StringReference>(new dc.StringReference());
                strLit.AppendChild(new dc.StringCache());
                strLit.StringCache.AppendChild(new dc.PointCount()
                {
                    Val = (uint)countCategories
                });
                // Liste catégorie
                foreach (var categorie in chartModel.Categories)
                {
                    strLit.StringCache.AppendChild(new dc.StringPoint()
                    {
                        Index = p, NumericValue = new dc.NumericValue(categorie.Name)
                    });                                                                                                                     // chartModel.Categories[k].Name
                    p++;
                }
                p = 0;

                // Gestion des valeurs
                dc.NumberReference numLit = barChartSeries.AppendChild <DocumentFormat.OpenXml.Drawing.Charts.Values>
                                                (new dc.Values())
                                            .AppendChild <dc.NumberReference>(new dc.NumberReference());
                numLit.AppendChild(new dc.NumberingCache());
                numLit.NumberingCache.AppendChild(new dc.FormatCode("General"));
                numLit.NumberingCache.AppendChild(new dc.PointCount()
                {
                    Val = (uint)serie.Values.Count
                });
                foreach (var value in serie.Values)
                {
                    numLit.NumberingCache.AppendChild <dc.NumericPoint>(new dc.NumericPoint()
                    {
                        Index = p, NumericValue = new dc.NumericValue(value != null ? value.ToString() : string.Empty)
                    });
                    p++;
                }
                i++;
            }

            dc.DataLabels dLbls = new dc.DataLabels(
                new dc.ShowLegendKey()
            {
                Val = false
            },
                new dc.ShowValue()
            {
                Val = chartModel.ShowDataLabel
            },
                new dc.ShowCategoryName()
            {
                Val = false
            },
                new dc.ShowSeriesName()
            {
                Val = false
            },
                new dc.ShowPercent()
            {
                Val = false
            },
                new dc.ShowBubbleSize()
            {
                Val = false
            });

            // Gestion de la couleur du ShowValue
            if (chartModel.ShowDataLabel && !string.IsNullOrWhiteSpace(chartModel.DataLabelColor))
            {
                string color = chartModel.DataLabelColor;
                color = color.Replace("#", "");
                if (!Regex.IsMatch(color, "^[0-9-A-F]{6}$"))
                {
                    throw new Exception("Error in color of serie.");
                }

                dc.TextProperties txtPr = new dc.TextProperties(
                    new A.BodyProperties(),
                    new A.ListStyle(),
                    new A.Paragraph(new A.ParagraphProperties(
                                        new A.DefaultRunProperties(new A.SolidFill()
                {
                    RgbColorModelHex = new A.RgbColorModelHex()
                    {
                        Val = color
                    }
                })
                {
                    Baseline = 0
                })));

                dLbls.Append(txtPr);
            }

            barChart.Append(dLbls);

            if (chartModel.SpaceBetweenLineCategories.HasValue)
            {
                barChart.Append(new dc.GapWidth()
                {
                    Val = (UInt16)chartModel.SpaceBetweenLineCategories.Value
                });
            }
            else
            {
                barChart.Append(new dc.GapWidth()
                {
                    Val = 55
                });
            }

            barChart.Append(new dc.Overlap()
            {
                Val = 100
            });

            barChart.Append(new dc.AxisId()
            {
                Val = new UInt32Value(48650112u)
            });
            barChart.Append(new dc.AxisId()
            {
                Val = new UInt32Value(48672768u)
            });

            // Set ShapeProperties
            dc.ShapeProperties dcSP = null;
            if (chartModel.ShowMajorGridlines)
            {
                if (!string.IsNullOrWhiteSpace(chartModel.MajorGridlinesColor))
                {
                    string color = chartModel.MajorGridlinesColor;
                    color = color.Replace("#", "");
                    if (!Regex.IsMatch(color, "^[0-9-A-F]{6}$"))
                    {
                        throw new Exception("Error in color of grid lines.");
                    }
                    dcSP = new dc.ShapeProperties(new A.Outline(new A.SolidFill()
                    {
                        RgbColorModelHex = new A.RgbColorModelHex()
                        {
                            Val = color
                        }
                    }));
                }
                else
                {
                    dcSP = new dc.ShapeProperties();
                }
            }
            else
            {
                dcSP = new dc.ShapeProperties(new A.Outline(new A.NoFill()));
            }
            // Add the Category Axis.
            dc.CategoryAxis catAx = plotArea.AppendChild <dc.CategoryAxis>(new dc.CategoryAxis(new dc.AxisId()
            {
                Val = new UInt32Value(48650112u)
            }, new dc.Scaling(new dc.Orientation()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.OrientationValues>(dc.OrientationValues.MinMax)
            }),
                                                                                               new dc.Delete()
            {
                Val = chartModel.DeleteAxeCategory
            },
                                                                                               new dc.AxisPosition()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.AxisPositionValues>(dc.AxisPositionValues.Left)
            },
                                                                                               new dc.MajorTickMark()
            {
                Val = dc.TickMarkValues.None
            },
                                                                                               new dc.MinorTickMark()
            {
                Val = dc.TickMarkValues.None
            },
                                                                                               new dc.TickLabelPosition()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.TickLabelPositionValues>(dc.TickLabelPositionValues.NextTo)
            },
                                                                                               new dc.CrossingAxis()
            {
                Val = new UInt32Value(48672768U)
            },
                                                                                               new dc.Crosses()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.CrossesValues>(dc.CrossesValues.AutoZero)
            },
                                                                                               new dc.AutoLabeled()
            {
                Val = new BooleanValue(true)
            },
                                                                                               new dc.LabelAlignment()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.LabelAlignmentValues>(dc.LabelAlignmentValues.Center)
            },
                                                                                               new dc.LabelOffset()
            {
                Val = new UInt16Value((ushort)100)
            },
                                                                                               new dc.NoMultiLevelLabels()
            {
                Val = false
            },
                                                                                               dcSP
                                                                                               ));

            // Add the Value Axis.
            dc.ValueAxis valAx = plotArea.AppendChild <dc.ValueAxis>(new dc.ValueAxis(new dc.AxisId()
            {
                Val = new UInt32Value(48672768u)
            },
                                                                                      new dc.Scaling(new dc.Orientation()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.OrientationValues>(
                    DocumentFormat.OpenXml.Drawing.Charts.OrientationValues.MinMax)
            }),
                                                                                      new dc.Delete()
            {
                Val = chartModel.DeleteAxeValue
            },
                                                                                      new dc.AxisPosition()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.AxisPositionValues>(dc.AxisPositionValues.Bottom)
            },
                                                                                      new dc.NumberingFormat()
            {
                FormatCode   = new StringValue("General"),
                SourceLinked = new BooleanValue(true)
            },
                                                                                      new dc.MajorTickMark()
            {
                Val = dc.TickMarkValues.None
            },
                                                                                      new dc.MinorTickMark()
            {
                Val = dc.TickMarkValues.None
            },
                                                                                      new dc.TickLabelPosition()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.TickLabelPositionValues>(dc.TickLabelPositionValues.NextTo)
            },
                                                                                      new dc.CrossingAxis()
            {
                Val = new UInt32Value(48650112U)
            }, new dc.Crosses()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.CrossesValues>(dc.CrossesValues.AutoZero)
            }, new dc.CrossBetween()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.CrossBetweenValues>(dc.CrossBetweenValues.Between)
            }));

            if (chartModel.ShowMajorGridlines)
            {
                if (!string.IsNullOrWhiteSpace(chartModel.MajorGridlinesColor))
                {
                    string color = chartModel.MajorGridlinesColor;
                    color = color.Replace("#", "");
                    if (!Regex.IsMatch(color, "^[0-9-A-F]{6}$"))
                    {
                        throw new Exception("Error in color of grid lines.");
                    }

                    valAx.AppendChild(new dc.MajorGridlines(new dc.ShapeProperties(new A.Outline(new A.SolidFill()
                    {
                        RgbColorModelHex = new A.RgbColorModelHex()
                        {
                            Val = color
                        }
                    }))));
                }
                else
                {
                    valAx.AppendChild(new dc.MajorGridlines());
                }
            }

            // Add the chart Legend.
            if (chartModel.ShowLegend)
            {
                var textProperty = new dc.TextProperties();
                if (!string.IsNullOrEmpty(chartModel.FontFamilyLegend))
                {
                    textProperty = new dc.TextProperties(new A.BodyProperties(),
                                                         new A.ListStyle(),
                                                         new A.Paragraph(new A.ParagraphProperties(new A.DefaultRunProperties(new A.LatinFont()
                    {
                        CharacterSet = 0, Typeface = chartModel.FontFamilyLegend
                    })
                    {
                        Baseline = 0
                    })));
                }

                dc.Legend legend = chart.AppendChild <dc.Legend>(new dc.Legend(new dc.LegendPosition()
                {
                    Val = new DocumentFormat.OpenXml.EnumValue <dc.LegendPositionValues>(dc.LegendPositionValues.Right)
                },
                                                                               new dc.Overlay()
                {
                    Val = false
                },
                                                                               new dc.Layout(),
                                                                               textProperty));
            }

            chart.Append(new dc.PlotVisibleOnly()
            {
                Val = new BooleanValue(true)
            },
                         new dc.DisplayBlanksAs()
            {
                Val = new DocumentFormat.OpenXml.EnumValue <dc.DisplayBlanksAsValues>(dc.DisplayBlanksAsValues.Gap)
            },
                         new dc.ShowDataLabelsOverMaximum()
            {
                Val = false
            });

            // Gestion des bordures du graphique
            if (chartModel.HasBorder)
            {
                chartModel.BorderWidth = chartModel.BorderWidth.HasValue ? chartModel.BorderWidth.Value : 12700;

                if (!string.IsNullOrEmpty(chartModel.BorderColor))
                {
                    var color = chartModel.BorderColor.Replace("#", "");
                    if (!Regex.IsMatch(color, "^[0-9-A-F]{6}$"))
                    {
                        throw new Exception("Error in color of chart borders.");
                    }
                    chartPart.ChartSpace.Append(new dc.ChartShapeProperties(new A.Outline(new A.SolidFill(new A.RgbColorModelHex()
                    {
                        Val = color
                    }))
                    {
                        Width = chartModel.BorderWidth.Value
                    }));
                }
                else
                {
                    chartPart.ChartSpace.Append(new dc.ChartShapeProperties(new A.Outline(new A.SolidFill(new A.RgbColorModelHex()
                    {
                        Val = "000000"
                    }))
                    {
                        Width = chartModel.BorderWidth.Value
                    }));
                }
            }
            else
            {
                chartPart.ChartSpace.Append(new dc.ChartShapeProperties(new A.Outline(new A.NoFill())));
            }

            // Save the chart part.
            chartPart.ChartSpace.Save();

            // Id du graphique pour faire le lien dans l'élément Drawing
            string relationshipId = documentPart.GetIdOfPart(chartPart);

            // Gestion du redimensionnement du graphique
            long imageWidth  = 5486400;
            long imageHeight = 3200400;

            if (chartModel.MaxWidth.HasValue)
            {
                // Conversion de pixel en EMU (English Metric Unit normalement c'est : EMU = pixel * 914400 / 96) --> 914400 / 96 = 9525
                imageWidth = (long)chartModel.MaxWidth * 9525;
            }
            if (chartModel.MaxHeight.HasValue)
            {
                imageHeight = (long)chartModel.MaxHeight * 9525;
            }

            // Gestion de l'élément Drawing
            var element = new Run(
                new DocumentFormat.OpenXml.Wordprocessing.Drawing(
                    new DW.Inline(
                        new DW.Extent()
            {
                Cx = imageWidth, Cy = imageHeight
            },
                        new DW.EffectExtent()
            {
                LeftEdge   = 0L,
                TopEdge    = 0L,
                RightEdge  = 0L,
                BottomEdge = 0L
            },
                        new DW.DocProperties()
            {
                Id   = (UInt32Value)1U,
                Name = "Chart 1"
            },
                        new DW.NonVisualGraphicFrameDrawingProperties(
                            new A.GraphicFrameLocks()
            {
                NoChangeAspect = true
            }),
                        new A.Graphic(
                            new A.GraphicData(
                                // Lien avec l'Id du graphique
                                new dc.ChartReference()
            {
                Id = relationshipId
            }
                                )
            {
                Uri = "http://schemas.openxmlformats.org/drawingml/2006/chart"
            })
                        )
                    )
                );

            return(element);
        }
        // Generates content of chartPart7.
        private void GenerateChartPart7Content(ChartPart chartPart7)
        {
            C.ChartSpace chartSpace7 = new C.ChartSpace();
            chartSpace7.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace7.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace7.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19047 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage7 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners7 = new C.RoundedCorners(){ Val = false };

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

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

            alternateContentChoice16.Append(style13);

            AlternateContentFallback alternateContentFallback15 = new AlternateContentFallback();
            C.Style style14 = new C.Style(){ Val = 2 };

            alternateContentFallback15.Append(style14);

            alternateContent16.Append(alternateContentChoice16);
            alternateContent16.Append(alternateContentFallback15);

            C.PivotSource pivotSource7 = new C.PivotSource();
            C.PivotTableName pivotTableName7 = new C.PivotTableName();
            pivotTableName7.Text = "[GeneratedDocument.xlsx]ShowHeader!PivotTable1";
            C.FormatId formatId7 = new C.FormatId(){ Val = (UInt32Value)10U };

            pivotSource7.Append(pivotTableName7);
            pivotSource7.Append(formatId7);

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

            C.Title title7 = new C.Title();
            C.Overlay overlay13 = new C.Overlay(){ Val = false };

            title7.Append(overlay13);
            C.AutoTitleDeleted autoTitleDeleted7 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats7 = new C.PivotFormats();

            C.PivotFormat pivotFormat47 = new C.PivotFormat();
            C.Index index53 = new C.Index(){ Val = (UInt32Value)0U };

            C.Marker marker47 = new C.Marker();
            C.Symbol symbol47 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker47.Append(symbol47);

            pivotFormat47.Append(index53);
            pivotFormat47.Append(marker47);

            C.PivotFormat pivotFormat48 = new C.PivotFormat();
            C.Index index54 = new C.Index(){ Val = (UInt32Value)1U };

            C.Marker marker48 = new C.Marker();
            C.Symbol symbol48 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker48.Append(symbol48);

            pivotFormat48.Append(index54);
            pivotFormat48.Append(marker48);

            C.PivotFormat pivotFormat49 = new C.PivotFormat();
            C.Index index55 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker49 = new C.Marker();
            C.Symbol symbol49 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker49.Append(symbol49);

            pivotFormat49.Append(index55);
            pivotFormat49.Append(marker49);

            pivotFormats7.Append(pivotFormat47);
            pivotFormats7.Append(pivotFormat48);
            pivotFormats7.Append(pivotFormat49);

            C.PlotArea plotArea7 = new C.PlotArea();
            C.Layout layout7 = new C.Layout();

            C.PieChart pieChart4 = new C.PieChart();
            C.VaryColors varyColors7 = new C.VaryColors(){ Val = true };

            C.PieChartSeries pieChartSeries4 = new C.PieChartSeries();
            C.Index index56 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order7 = new C.Order(){ Val = (UInt32Value)0U };

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

            C.StringReference stringReference13 = new C.StringReference();
            C.Formula formula19 = new C.Formula();
            formula19.Text = "ShowHeader!$B$1";

            C.StringCache stringCache13 = new C.StringCache();
            C.PointCount pointCount19 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint25 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue43 = new C.NumericValue();
            numericValue43.Text = "Total";

            stringPoint25.Append(numericValue43);

            stringCache13.Append(pointCount19);
            stringCache13.Append(stringPoint25);

            stringReference13.Append(formula19);
            stringReference13.Append(stringCache13);

            seriesText7.Append(stringReference13);

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

            C.StringReference stringReference14 = new C.StringReference();
            C.Formula formula20 = new C.Formula();
            formula20.Text = "ShowHeader!$A$2:$A$5";

            C.StringCache stringCache14 = new C.StringCache();
            C.PointCount pointCount20 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint26 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue44 = new C.NumericValue();
            numericValue44.Text = "product_A";

            stringPoint26.Append(numericValue44);

            C.StringPoint stringPoint27 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue45 = new C.NumericValue();
            numericValue45.Text = "product_D";

            stringPoint27.Append(numericValue45);

            C.StringPoint stringPoint28 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue46 = new C.NumericValue();
            numericValue46.Text = "product_E";

            stringPoint28.Append(numericValue46);

            stringCache14.Append(pointCount20);
            stringCache14.Append(stringPoint26);
            stringCache14.Append(stringPoint27);
            stringCache14.Append(stringPoint28);

            stringReference14.Append(formula20);
            stringReference14.Append(stringCache14);

            categoryAxisData7.Append(stringReference14);

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

            C.NumberReference numberReference7 = new C.NumberReference();
            C.Formula formula21 = new C.Formula();
            formula21.Text = "ShowHeader!$B$2:$B$5";

            C.NumberingCache numberingCache7 = new C.NumberingCache();
            C.FormatCode formatCode7 = new C.FormatCode();
            formatCode7.Text = "General";
            C.PointCount pointCount21 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint19 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue47 = new C.NumericValue();
            numericValue47.Text = "19";

            numericPoint19.Append(numericValue47);

            C.NumericPoint numericPoint20 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue48 = new C.NumericValue();
            numericValue48.Text = "13";

            numericPoint20.Append(numericValue48);

            C.NumericPoint numericPoint21 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue49 = new C.NumericValue();
            numericValue49.Text = "33";

            numericPoint21.Append(numericValue49);

            numberingCache7.Append(formatCode7);
            numberingCache7.Append(pointCount21);
            numberingCache7.Append(numericPoint19);
            numberingCache7.Append(numericPoint20);
            numberingCache7.Append(numericPoint21);

            numberReference7.Append(formula21);
            numberReference7.Append(numberingCache7);

            values7.Append(numberReference7);

            pieChartSeries4.Append(index56);
            pieChartSeries4.Append(order7);
            pieChartSeries4.Append(seriesText7);
            pieChartSeries4.Append(categoryAxisData7);
            pieChartSeries4.Append(values7);

            C.DataLabels dataLabels7 = new C.DataLabels();
            C.ShowLegendKey showLegendKey7 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue7 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName7 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName7 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent7 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize7 = new C.ShowBubbleSize(){ Val = false };
            C.ShowLeaderLines showLeaderLines4 = new C.ShowLeaderLines(){ Val = true };

            dataLabels7.Append(showLegendKey7);
            dataLabels7.Append(showValue7);
            dataLabels7.Append(showCategoryName7);
            dataLabels7.Append(showSeriesName7);
            dataLabels7.Append(showPercent7);
            dataLabels7.Append(showBubbleSize7);
            dataLabels7.Append(showLeaderLines4);
            C.FirstSliceAngle firstSliceAngle4 = new C.FirstSliceAngle(){ Val = (UInt16Value)0U };

            pieChart4.Append(varyColors7);
            pieChart4.Append(pieChartSeries4);
            pieChart4.Append(dataLabels7);
            pieChart4.Append(firstSliceAngle4);

            plotArea7.Append(layout7);
            plotArea7.Append(pieChart4);

            C.Legend legend7 = new C.Legend();
            C.LegendPosition legendPosition7 = new C.LegendPosition(){ Val = C.LegendPositionValues.Right };
            C.Overlay overlay14 = new C.Overlay(){ Val = false };

            legend7.Append(legendPosition7);
            legend7.Append(overlay14);
            C.PlotVisibleOnly plotVisibleOnly7 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs7 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum7 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart7.Append(title7);
            chart7.Append(autoTitleDeleted7);
            chart7.Append(pivotFormats7);
            chart7.Append(plotArea7);
            chart7.Append(legend7);
            chart7.Append(plotVisibleOnly7);
            chart7.Append(displayBlanksAs7);
            chart7.Append(showDataLabelsOverMaximum7);

            C.PrintSettings printSettings7 = new C.PrintSettings();
            C.HeaderFooter headerFooter7 = new C.HeaderFooter();
            C.PageMargins pageMargins13 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup7 = new C.PageSetup();

            printSettings7.Append(headerFooter7);
            printSettings7.Append(pageMargins13);
            printSettings7.Append(pageSetup7);

            C.ChartSpaceExtensionList chartSpaceExtensionList7 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList7.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList7.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension7 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension7.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions7 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter7 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories7 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData7 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries7 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible7 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions7.Append(dropZoneFilter7);
            pivotOptions7.Append(dropZoneCategories7);
            pivotOptions7.Append(dropZoneData7);
            pivotOptions7.Append(dropZoneSeries7);
            pivotOptions7.Append(dropZonesVisible7);

            chartSpaceExtension7.Append(pivotOptions7);

            chartSpaceExtensionList7.Append(chartSpaceExtension7);

            chartSpace7.Append(date19047);
            chartSpace7.Append(editingLanguage7);
            chartSpace7.Append(roundedCorners7);
            chartSpace7.Append(alternateContent16);
            chartSpace7.Append(pivotSource7);
            chartSpace7.Append(chart7);
            chartSpace7.Append(printSettings7);
            chartSpace7.Append(chartSpaceExtensionList7);

            chartPart7.ChartSpace = chartSpace7;
        }
        // Generates content of chartPart8.
        private void GenerateChartPart8Content(ChartPart chartPart8)
        {
            C.ChartSpace chartSpace8 = new C.ChartSpace();
            chartSpace8.AddNamespaceDeclaration("c", "http://schemas.openxmlformats.org/drawingml/2006/chart");
            chartSpace8.AddNamespaceDeclaration("a", "http://schemas.openxmlformats.org/drawingml/2006/main");
            chartSpace8.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            C.Date1904 date19048 = new C.Date1904(){ Val = false };
            C.EditingLanguage editingLanguage8 = new C.EditingLanguage(){ Val = "en-US" };
            C.RoundedCorners roundedCorners8 = new C.RoundedCorners(){ Val = false };

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

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

            alternateContentChoice17.Append(style15);

            AlternateContentFallback alternateContentFallback16 = new AlternateContentFallback();
            C.Style style16 = new C.Style(){ Val = 1 };

            alternateContentFallback16.Append(style16);

            alternateContent17.Append(alternateContentChoice17);
            alternateContent17.Append(alternateContentFallback16);

            C.PivotSource pivotSource8 = new C.PivotSource();
            C.PivotTableName pivotTableName8 = new C.PivotTableName();
            pivotTableName8.Text = "[GeneratedDocument.xlsx]ShowHeader!PivotTable1";
            C.FormatId formatId8 = new C.FormatId(){ Val = (UInt32Value)9U };

            pivotSource8.Append(pivotTableName8);
            pivotSource8.Append(formatId8);

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

            C.Title title8 = new C.Title();
            C.Overlay overlay15 = new C.Overlay(){ Val = false };

            title8.Append(overlay15);
            C.AutoTitleDeleted autoTitleDeleted8 = new C.AutoTitleDeleted(){ Val = false };

            C.PivotFormats pivotFormats8 = new C.PivotFormats();

            C.PivotFormat pivotFormat50 = new C.PivotFormat();
            C.Index index57 = new C.Index(){ Val = (UInt32Value)0U };

            C.ShapeProperties shapeProperties24 = new C.ShapeProperties();

            A.SolidFill solidFill44 = new A.SolidFill();

            A.SchemeColor schemeColor28 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint14 = new A.Tint(){ Val = 100000 };

            schemeColor28.Append(tint14);

            solidFill44.Append(schemeColor28);

            A.Outline outline34 = new A.Outline();
            A.NoFill noFill28 = new A.NoFill();

            outline34.Append(noFill28);
            A.EffectList effectList26 = new A.EffectList();

            shapeProperties24.Append(solidFill44);
            shapeProperties24.Append(outline34);
            shapeProperties24.Append(effectList26);

            C.Marker marker50 = new C.Marker();
            C.Symbol symbol50 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker50.Append(symbol50);

            pivotFormat50.Append(index57);
            pivotFormat50.Append(shapeProperties24);
            pivotFormat50.Append(marker50);

            C.PivotFormat pivotFormat51 = new C.PivotFormat();
            C.Index index58 = new C.Index(){ Val = (UInt32Value)1U };

            C.ShapeProperties shapeProperties25 = new C.ShapeProperties();

            A.SolidFill solidFill45 = new A.SolidFill();

            A.SchemeColor schemeColor29 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent2 };
            A.Tint tint15 = new A.Tint(){ Val = 100000 };

            schemeColor29.Append(tint15);

            solidFill45.Append(schemeColor29);

            A.Outline outline35 = new A.Outline();
            A.NoFill noFill29 = new A.NoFill();

            outline35.Append(noFill29);
            A.EffectList effectList27 = new A.EffectList();

            shapeProperties25.Append(solidFill45);
            shapeProperties25.Append(outline35);
            shapeProperties25.Append(effectList27);

            C.Marker marker51 = new C.Marker();
            C.Symbol symbol51 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker51.Append(symbol51);

            pivotFormat51.Append(index58);
            pivotFormat51.Append(shapeProperties25);
            pivotFormat51.Append(marker51);

            C.PivotFormat pivotFormat52 = new C.PivotFormat();
            C.Index index59 = new C.Index(){ Val = (UInt32Value)2U };

            C.Marker marker52 = new C.Marker();
            C.Symbol symbol52 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker52.Append(symbol52);

            pivotFormat52.Append(index59);
            pivotFormat52.Append(marker52);

            C.PivotFormat pivotFormat53 = new C.PivotFormat();
            C.Index index60 = new C.Index(){ Val = (UInt32Value)3U };

            C.Marker marker53 = new C.Marker();
            C.Symbol symbol53 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker53.Append(symbol53);

            pivotFormat53.Append(index60);
            pivotFormat53.Append(marker53);

            C.PivotFormat pivotFormat54 = new C.PivotFormat();
            C.Index index61 = new C.Index(){ Val = (UInt32Value)4U };

            C.Marker marker54 = new C.Marker();
            C.Symbol symbol54 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker54.Append(symbol54);

            pivotFormat54.Append(index61);
            pivotFormat54.Append(marker54);

            C.PivotFormat pivotFormat55 = new C.PivotFormat();
            C.Index index62 = new C.Index(){ Val = (UInt32Value)5U };

            C.Marker marker55 = new C.Marker();
            C.Symbol symbol55 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker55.Append(symbol55);

            pivotFormat55.Append(index62);
            pivotFormat55.Append(marker55);

            C.PivotFormat pivotFormat56 = new C.PivotFormat();
            C.Index index63 = new C.Index(){ Val = (UInt32Value)6U };

            C.Marker marker56 = new C.Marker();
            C.Symbol symbol56 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker56.Append(symbol56);

            pivotFormat56.Append(index63);
            pivotFormat56.Append(marker56);

            C.PivotFormat pivotFormat57 = new C.PivotFormat();
            C.Index index64 = new C.Index(){ Val = (UInt32Value)7U };

            C.Marker marker57 = new C.Marker();
            C.Symbol symbol57 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker57.Append(symbol57);

            pivotFormat57.Append(index64);
            pivotFormat57.Append(marker57);

            C.PivotFormat pivotFormat58 = new C.PivotFormat();
            C.Index index65 = new C.Index(){ Val = (UInt32Value)8U };

            C.Marker marker58 = new C.Marker();
            C.Symbol symbol58 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker58.Append(symbol58);

            pivotFormat58.Append(index65);
            pivotFormat58.Append(marker58);

            C.PivotFormat pivotFormat59 = new C.PivotFormat();
            C.Index index66 = new C.Index(){ Val = (UInt32Value)9U };

            C.Marker marker59 = new C.Marker();
            C.Symbol symbol59 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker59.Append(symbol59);

            pivotFormat59.Append(index66);
            pivotFormat59.Append(marker59);

            C.PivotFormat pivotFormat60 = new C.PivotFormat();
            C.Index index67 = new C.Index(){ Val = (UInt32Value)10U };

            C.Marker marker60 = new C.Marker();
            C.Symbol symbol60 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker60.Append(symbol60);

            pivotFormat60.Append(index67);
            pivotFormat60.Append(marker60);

            C.PivotFormat pivotFormat61 = new C.PivotFormat();
            C.Index index68 = new C.Index(){ Val = (UInt32Value)11U };

            C.Marker marker61 = new C.Marker();
            C.Symbol symbol61 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker61.Append(symbol61);

            pivotFormat61.Append(index68);
            pivotFormat61.Append(marker61);

            C.PivotFormat pivotFormat62 = new C.PivotFormat();
            C.Index index69 = new C.Index(){ Val = (UInt32Value)12U };

            C.Marker marker62 = new C.Marker();
            C.Symbol symbol62 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker62.Append(symbol62);

            pivotFormat62.Append(index69);
            pivotFormat62.Append(marker62);

            C.PivotFormat pivotFormat63 = new C.PivotFormat();
            C.Index index70 = new C.Index(){ Val = (UInt32Value)13U };

            C.Marker marker63 = new C.Marker();
            C.Symbol symbol63 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker63.Append(symbol63);

            pivotFormat63.Append(index70);
            pivotFormat63.Append(marker63);

            C.PivotFormat pivotFormat64 = new C.PivotFormat();
            C.Index index71 = new C.Index(){ Val = (UInt32Value)14U };

            C.ShapeProperties shapeProperties26 = new C.ShapeProperties();

            A.SolidFill solidFill46 = new A.SolidFill();

            A.SchemeColor schemeColor30 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint16 = new A.Tint(){ Val = 100000 };

            schemeColor30.Append(tint16);

            solidFill46.Append(schemeColor30);

            A.Outline outline36 = new A.Outline();
            A.NoFill noFill30 = new A.NoFill();

            outline36.Append(noFill30);
            A.EffectList effectList28 = new A.EffectList();

            shapeProperties26.Append(solidFill46);
            shapeProperties26.Append(outline36);
            shapeProperties26.Append(effectList28);

            C.Marker marker64 = new C.Marker();
            C.Symbol symbol64 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker64.Append(symbol64);

            pivotFormat64.Append(index71);
            pivotFormat64.Append(shapeProperties26);
            pivotFormat64.Append(marker64);

            C.PivotFormat pivotFormat65 = new C.PivotFormat();
            C.Index index72 = new C.Index(){ Val = (UInt32Value)15U };

            C.ShapeProperties shapeProperties27 = new C.ShapeProperties();

            A.SolidFill solidFill47 = new A.SolidFill();

            A.SchemeColor schemeColor31 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint17 = new A.Tint(){ Val = 100000 };

            schemeColor31.Append(tint17);

            solidFill47.Append(schemeColor31);

            A.Outline outline37 = new A.Outline();
            A.NoFill noFill31 = new A.NoFill();

            outline37.Append(noFill31);
            A.EffectList effectList29 = new A.EffectList();

            shapeProperties27.Append(solidFill47);
            shapeProperties27.Append(outline37);
            shapeProperties27.Append(effectList29);

            C.Marker marker65 = new C.Marker();
            C.Symbol symbol65 = new C.Symbol(){ Val = C.MarkerStyleValues.None };

            marker65.Append(symbol65);

            pivotFormat65.Append(index72);
            pivotFormat65.Append(shapeProperties27);
            pivotFormat65.Append(marker65);

            pivotFormats8.Append(pivotFormat50);
            pivotFormats8.Append(pivotFormat51);
            pivotFormats8.Append(pivotFormat52);
            pivotFormats8.Append(pivotFormat53);
            pivotFormats8.Append(pivotFormat54);
            pivotFormats8.Append(pivotFormat55);
            pivotFormats8.Append(pivotFormat56);
            pivotFormats8.Append(pivotFormat57);
            pivotFormats8.Append(pivotFormat58);
            pivotFormats8.Append(pivotFormat59);
            pivotFormats8.Append(pivotFormat60);
            pivotFormats8.Append(pivotFormat61);
            pivotFormats8.Append(pivotFormat62);
            pivotFormats8.Append(pivotFormat63);
            pivotFormats8.Append(pivotFormat64);
            pivotFormats8.Append(pivotFormat65);

            C.PlotArea plotArea8 = new C.PlotArea();
            C.Layout layout8 = new C.Layout();

            C.BarChart barChart4 = new C.BarChart();
            C.BarDirection barDirection4 = new C.BarDirection(){ Val = C.BarDirectionValues.Column };
            C.BarGrouping barGrouping4 = new C.BarGrouping(){ Val = C.BarGroupingValues.Clustered };
            C.VaryColors varyColors8 = new C.VaryColors(){ Val = false };

            C.BarChartSeries barChartSeries4 = new C.BarChartSeries();
            C.Index index73 = new C.Index(){ Val = (UInt32Value)0U };
            C.Order order8 = new C.Order(){ Val = (UInt32Value)0U };

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

            C.StringReference stringReference15 = new C.StringReference();
            C.Formula formula22 = new C.Formula();
            formula22.Text = "ShowHeader!$B$1";

            C.StringCache stringCache15 = new C.StringCache();
            C.PointCount pointCount22 = new C.PointCount(){ Val = (UInt32Value)1U };

            C.StringPoint stringPoint29 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue50 = new C.NumericValue();
            numericValue50.Text = "Total";

            stringPoint29.Append(numericValue50);

            stringCache15.Append(pointCount22);
            stringCache15.Append(stringPoint29);

            stringReference15.Append(formula22);
            stringReference15.Append(stringCache15);

            seriesText8.Append(stringReference15);

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

            A.SolidFill solidFill48 = new A.SolidFill();

            A.SchemeColor schemeColor32 = new A.SchemeColor(){ Val = A.SchemeColorValues.Accent1 };
            A.Tint tint18 = new A.Tint(){ Val = 100000 };

            schemeColor32.Append(tint18);

            solidFill48.Append(schemeColor32);

            A.Outline outline38 = new A.Outline();
            A.NoFill noFill32 = new A.NoFill();

            outline38.Append(noFill32);
            A.EffectList effectList30 = new A.EffectList();

            chartShapeProperties11.Append(solidFill48);
            chartShapeProperties11.Append(outline38);
            chartShapeProperties11.Append(effectList30);
            C.InvertIfNegative invertIfNegative4 = new C.InvertIfNegative(){ Val = false };

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

            C.StringReference stringReference16 = new C.StringReference();
            C.Formula formula23 = new C.Formula();
            formula23.Text = "ShowHeader!$A$2:$A$5";

            C.StringCache stringCache16 = new C.StringCache();
            C.PointCount pointCount23 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.StringPoint stringPoint30 = new C.StringPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue51 = new C.NumericValue();
            numericValue51.Text = "product_A";

            stringPoint30.Append(numericValue51);

            C.StringPoint stringPoint31 = new C.StringPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue52 = new C.NumericValue();
            numericValue52.Text = "product_D";

            stringPoint31.Append(numericValue52);

            C.StringPoint stringPoint32 = new C.StringPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue53 = new C.NumericValue();
            numericValue53.Text = "product_E";

            stringPoint32.Append(numericValue53);

            stringCache16.Append(pointCount23);
            stringCache16.Append(stringPoint30);
            stringCache16.Append(stringPoint31);
            stringCache16.Append(stringPoint32);

            stringReference16.Append(formula23);
            stringReference16.Append(stringCache16);

            categoryAxisData8.Append(stringReference16);

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

            C.NumberReference numberReference8 = new C.NumberReference();
            C.Formula formula24 = new C.Formula();
            formula24.Text = "ShowHeader!$B$2:$B$5";

            C.NumberingCache numberingCache8 = new C.NumberingCache();
            C.FormatCode formatCode8 = new C.FormatCode();
            formatCode8.Text = "General";
            C.PointCount pointCount24 = new C.PointCount(){ Val = (UInt32Value)3U };

            C.NumericPoint numericPoint22 = new C.NumericPoint(){ Index = (UInt32Value)0U };
            C.NumericValue numericValue54 = new C.NumericValue();
            numericValue54.Text = "19";

            numericPoint22.Append(numericValue54);

            C.NumericPoint numericPoint23 = new C.NumericPoint(){ Index = (UInt32Value)1U };
            C.NumericValue numericValue55 = new C.NumericValue();
            numericValue55.Text = "13";

            numericPoint23.Append(numericValue55);

            C.NumericPoint numericPoint24 = new C.NumericPoint(){ Index = (UInt32Value)2U };
            C.NumericValue numericValue56 = new C.NumericValue();
            numericValue56.Text = "33";

            numericPoint24.Append(numericValue56);

            numberingCache8.Append(formatCode8);
            numberingCache8.Append(pointCount24);
            numberingCache8.Append(numericPoint22);
            numberingCache8.Append(numericPoint23);
            numberingCache8.Append(numericPoint24);

            numberReference8.Append(formula24);
            numberReference8.Append(numberingCache8);

            values8.Append(numberReference8);

            barChartSeries4.Append(index73);
            barChartSeries4.Append(order8);
            barChartSeries4.Append(seriesText8);
            barChartSeries4.Append(chartShapeProperties11);
            barChartSeries4.Append(invertIfNegative4);
            barChartSeries4.Append(categoryAxisData8);
            barChartSeries4.Append(values8);

            C.DataLabels dataLabels8 = new C.DataLabels();
            C.ShowLegendKey showLegendKey8 = new C.ShowLegendKey(){ Val = false };
            C.ShowValue showValue8 = new C.ShowValue(){ Val = false };
            C.ShowCategoryName showCategoryName8 = new C.ShowCategoryName(){ Val = false };
            C.ShowSeriesName showSeriesName8 = new C.ShowSeriesName(){ Val = false };
            C.ShowPercent showPercent8 = new C.ShowPercent(){ Val = false };
            C.ShowBubbleSize showBubbleSize8 = new C.ShowBubbleSize(){ Val = false };

            dataLabels8.Append(showLegendKey8);
            dataLabels8.Append(showValue8);
            dataLabels8.Append(showCategoryName8);
            dataLabels8.Append(showSeriesName8);
            dataLabels8.Append(showPercent8);
            dataLabels8.Append(showBubbleSize8);
            C.GapWidth gapWidth4 = new C.GapWidth(){ Val = (UInt16Value)219U };
            C.Overlap overlap3 = new C.Overlap(){ Val = -27 };
            C.AxisId axisId13 = new C.AxisId(){ Val = (UInt32Value)209618640U };
            C.AxisId axisId14 = new C.AxisId(){ Val = (UInt32Value)209382248U };

            barChart4.Append(barDirection4);
            barChart4.Append(barGrouping4);
            barChart4.Append(varyColors8);
            barChart4.Append(barChartSeries4);
            barChart4.Append(dataLabels8);
            barChart4.Append(gapWidth4);
            barChart4.Append(overlap3);
            barChart4.Append(axisId13);
            barChart4.Append(axisId14);

            C.CategoryAxis categoryAxis4 = new C.CategoryAxis();
            C.AxisId axisId15 = new C.AxisId(){ Val = (UInt32Value)209618640U };

            C.Scaling scaling7 = new C.Scaling();
            C.Orientation orientation7 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling7.Append(orientation7);
            C.Delete delete7 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition7 = new C.AxisPosition(){ Val = C.AxisPositionValues.Bottom };
            C.NumberingFormat numberingFormat7 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = false };
            C.MajorTickMark majorTickMark7 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark7 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition7 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties12 = new C.ChartShapeProperties();
            A.NoFill noFill33 = new A.NoFill();

            A.Outline outline39 = new A.Outline();
            A.NoFill noFill34 = new A.NoFill();

            outline39.Append(noFill34);
            A.EffectList effectList31 = new A.EffectList();

            chartShapeProperties12.Append(noFill33);
            chartShapeProperties12.Append(outline39);
            chartShapeProperties12.Append(effectList31);

            C.TextProperties textProperties9 = new C.TextProperties();
            A.BodyProperties bodyProperties17 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle17 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties9 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties9 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill49 = new A.SolidFill();

            A.SchemeColor schemeColor33 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation11 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset11 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor33.Append(luminanceModulation11);
            schemeColor33.Append(luminanceOffset11);

            solidFill49.Append(schemeColor33);
            A.LatinFont latinFont7 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont7 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont7 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties9.Append(solidFill49);
            defaultRunProperties9.Append(latinFont7);
            defaultRunProperties9.Append(eastAsianFont7);
            defaultRunProperties9.Append(complexScriptFont7);

            paragraphProperties9.Append(defaultRunProperties9);
            A.EndParagraphRunProperties endParagraphRunProperties9 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph17.Append(paragraphProperties9);
            paragraph17.Append(endParagraphRunProperties9);

            textProperties9.Append(bodyProperties17);
            textProperties9.Append(listStyle17);
            textProperties9.Append(paragraph17);
            C.CrossingAxis crossingAxis7 = new C.CrossingAxis(){ Val = (UInt32Value)209382248U };
            C.Crosses crosses7 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.AutoLabeled autoLabeled4 = new C.AutoLabeled(){ Val = true };
            C.LabelAlignment labelAlignment4 = new C.LabelAlignment(){ Val = C.LabelAlignmentValues.Center };
            C.LabelOffset labelOffset4 = new C.LabelOffset(){ Val = (UInt16Value)100U };
            C.NoMultiLevelLabels noMultiLevelLabels4 = new C.NoMultiLevelLabels(){ Val = false };

            categoryAxis4.Append(axisId15);
            categoryAxis4.Append(scaling7);
            categoryAxis4.Append(delete7);
            categoryAxis4.Append(axisPosition7);
            categoryAxis4.Append(numberingFormat7);
            categoryAxis4.Append(majorTickMark7);
            categoryAxis4.Append(minorTickMark7);
            categoryAxis4.Append(tickLabelPosition7);
            categoryAxis4.Append(chartShapeProperties12);
            categoryAxis4.Append(textProperties9);
            categoryAxis4.Append(crossingAxis7);
            categoryAxis4.Append(crosses7);
            categoryAxis4.Append(autoLabeled4);
            categoryAxis4.Append(labelAlignment4);
            categoryAxis4.Append(labelOffset4);
            categoryAxis4.Append(noMultiLevelLabels4);

            C.ValueAxis valueAxis4 = new C.ValueAxis();
            C.AxisId axisId16 = new C.AxisId(){ Val = (UInt32Value)209382248U };

            C.Scaling scaling8 = new C.Scaling();
            C.Orientation orientation8 = new C.Orientation(){ Val = C.OrientationValues.MinMax };

            scaling8.Append(orientation8);
            C.Delete delete8 = new C.Delete(){ Val = false };
            C.AxisPosition axisPosition8 = new C.AxisPosition(){ Val = C.AxisPositionValues.Left };

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

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

            A.Outline outline40 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill50 = new A.SolidFill();

            A.SchemeColor schemeColor34 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation12 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset12 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor34.Append(luminanceModulation12);
            schemeColor34.Append(luminanceOffset12);

            solidFill50.Append(schemeColor34);
            A.Round round5 = new A.Round();

            outline40.Append(solidFill50);
            outline40.Append(round5);
            A.EffectList effectList32 = new A.EffectList();

            chartShapeProperties13.Append(outline40);
            chartShapeProperties13.Append(effectList32);

            majorGridlines4.Append(chartShapeProperties13);
            C.NumberingFormat numberingFormat8 = new C.NumberingFormat(){ FormatCode = "General", SourceLinked = true };
            C.MajorTickMark majorTickMark8 = new C.MajorTickMark(){ Val = C.TickMarkValues.None };
            C.MinorTickMark minorTickMark8 = new C.MinorTickMark(){ Val = C.TickMarkValues.None };
            C.TickLabelPosition tickLabelPosition8 = new C.TickLabelPosition(){ Val = C.TickLabelPositionValues.NextTo };

            C.ChartShapeProperties chartShapeProperties14 = new C.ChartShapeProperties();
            A.NoFill noFill35 = new A.NoFill();

            A.Outline outline41 = new A.Outline();
            A.NoFill noFill36 = new A.NoFill();

            outline41.Append(noFill36);
            A.EffectList effectList33 = new A.EffectList();

            chartShapeProperties14.Append(noFill35);
            chartShapeProperties14.Append(outline41);
            chartShapeProperties14.Append(effectList33);

            C.TextProperties textProperties10 = new C.TextProperties();
            A.BodyProperties bodyProperties18 = new A.BodyProperties(){ Rotation = -60000000, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle18 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties10 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties10 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill51 = new A.SolidFill();

            A.SchemeColor schemeColor35 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation13 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset13 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor35.Append(luminanceModulation13);
            schemeColor35.Append(luminanceOffset13);

            solidFill51.Append(schemeColor35);
            A.LatinFont latinFont8 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont8 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont8 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties10.Append(solidFill51);
            defaultRunProperties10.Append(latinFont8);
            defaultRunProperties10.Append(eastAsianFont8);
            defaultRunProperties10.Append(complexScriptFont8);

            paragraphProperties10.Append(defaultRunProperties10);
            A.EndParagraphRunProperties endParagraphRunProperties10 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph18.Append(paragraphProperties10);
            paragraph18.Append(endParagraphRunProperties10);

            textProperties10.Append(bodyProperties18);
            textProperties10.Append(listStyle18);
            textProperties10.Append(paragraph18);
            C.CrossingAxis crossingAxis8 = new C.CrossingAxis(){ Val = (UInt32Value)209618640U };
            C.Crosses crosses8 = new C.Crosses(){ Val = C.CrossesValues.AutoZero };
            C.CrossBetween crossBetween4 = new C.CrossBetween(){ Val = C.CrossBetweenValues.Between };

            valueAxis4.Append(axisId16);
            valueAxis4.Append(scaling8);
            valueAxis4.Append(delete8);
            valueAxis4.Append(axisPosition8);
            valueAxis4.Append(majorGridlines4);
            valueAxis4.Append(numberingFormat8);
            valueAxis4.Append(majorTickMark8);
            valueAxis4.Append(minorTickMark8);
            valueAxis4.Append(tickLabelPosition8);
            valueAxis4.Append(chartShapeProperties14);
            valueAxis4.Append(textProperties10);
            valueAxis4.Append(crossingAxis8);
            valueAxis4.Append(crosses8);
            valueAxis4.Append(crossBetween4);

            C.ShapeProperties shapeProperties28 = new C.ShapeProperties();

            A.SolidFill solidFill52 = new A.SolidFill();
            A.SchemeColor schemeColor36 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill52.Append(schemeColor36);

            A.Outline outline42 = new A.Outline();
            A.NoFill noFill37 = new A.NoFill();

            outline42.Append(noFill37);
            A.EffectList effectList34 = new A.EffectList();

            shapeProperties28.Append(solidFill52);
            shapeProperties28.Append(outline42);
            shapeProperties28.Append(effectList34);

            plotArea8.Append(layout8);
            plotArea8.Append(barChart4);
            plotArea8.Append(categoryAxis4);
            plotArea8.Append(valueAxis4);
            plotArea8.Append(shapeProperties28);

            C.Legend legend8 = new C.Legend();
            C.LegendPosition legendPosition8 = new C.LegendPosition(){ Val = C.LegendPositionValues.Bottom };
            C.Overlay overlay16 = new C.Overlay(){ Val = false };

            C.ChartShapeProperties chartShapeProperties15 = new C.ChartShapeProperties();
            A.NoFill noFill38 = new A.NoFill();

            A.Outline outline43 = new A.Outline();
            A.NoFill noFill39 = new A.NoFill();

            outline43.Append(noFill39);
            A.EffectList effectList35 = new A.EffectList();

            chartShapeProperties15.Append(noFill38);
            chartShapeProperties15.Append(outline43);
            chartShapeProperties15.Append(effectList35);

            C.TextProperties textProperties11 = new C.TextProperties();
            A.BodyProperties bodyProperties19 = new A.BodyProperties(){ Rotation = 0, UseParagraphSpacing = true, VerticalOverflow = A.TextVerticalOverflowValues.Ellipsis, Vertical = A.TextVerticalValues.Horizontal, Wrap = A.TextWrappingValues.Square, Anchor = A.TextAnchoringTypeValues.Center, AnchorCenter = true };
            A.ListStyle listStyle19 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties11 = new A.ParagraphProperties();

            A.DefaultRunProperties defaultRunProperties11 = new A.DefaultRunProperties(){ FontSize = 900, Kerning = 1200 };

            A.SolidFill solidFill53 = new A.SolidFill();

            A.SchemeColor schemeColor37 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation14 = new A.LuminanceModulation(){ Val = 65000 };
            A.LuminanceOffset luminanceOffset14 = new A.LuminanceOffset(){ Val = 35000 };

            schemeColor37.Append(luminanceModulation14);
            schemeColor37.Append(luminanceOffset14);

            solidFill53.Append(schemeColor37);
            A.LatinFont latinFont9 = new A.LatinFont(){ Typeface = "+mn-lt" };
            A.EastAsianFont eastAsianFont9 = new A.EastAsianFont(){ Typeface = "+mn-ea" };
            A.ComplexScriptFont complexScriptFont9 = new A.ComplexScriptFont(){ Typeface = "+mn-cs" };

            defaultRunProperties11.Append(solidFill53);
            defaultRunProperties11.Append(latinFont9);
            defaultRunProperties11.Append(eastAsianFont9);
            defaultRunProperties11.Append(complexScriptFont9);

            paragraphProperties11.Append(defaultRunProperties11);
            A.EndParagraphRunProperties endParagraphRunProperties11 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph19.Append(paragraphProperties11);
            paragraph19.Append(endParagraphRunProperties11);

            textProperties11.Append(bodyProperties19);
            textProperties11.Append(listStyle19);
            textProperties11.Append(paragraph19);

            legend8.Append(legendPosition8);
            legend8.Append(overlay16);
            legend8.Append(chartShapeProperties15);
            legend8.Append(textProperties11);
            C.PlotVisibleOnly plotVisibleOnly8 = new C.PlotVisibleOnly(){ Val = true };
            C.DisplayBlanksAs displayBlanksAs8 = new C.DisplayBlanksAs(){ Val = C.DisplayBlanksAsValues.Gap };
            C.ShowDataLabelsOverMaximum showDataLabelsOverMaximum8 = new C.ShowDataLabelsOverMaximum(){ Val = false };

            chart8.Append(title8);
            chart8.Append(autoTitleDeleted8);
            chart8.Append(pivotFormats8);
            chart8.Append(plotArea8);
            chart8.Append(legend8);
            chart8.Append(plotVisibleOnly8);
            chart8.Append(displayBlanksAs8);
            chart8.Append(showDataLabelsOverMaximum8);

            C.ShapeProperties shapeProperties29 = new C.ShapeProperties();

            A.SolidFill solidFill54 = new A.SolidFill();
            A.SchemeColor schemeColor38 = new A.SchemeColor(){ Val = A.SchemeColorValues.Background1 };

            solidFill54.Append(schemeColor38);

            A.Outline outline44 = new A.Outline(){ Width = 9525, CapType = A.LineCapValues.Flat, CompoundLineType = A.CompoundLineValues.Single, Alignment = A.PenAlignmentValues.Center };

            A.SolidFill solidFill55 = new A.SolidFill();

            A.SchemeColor schemeColor39 = new A.SchemeColor(){ Val = A.SchemeColorValues.Text1 };
            A.LuminanceModulation luminanceModulation15 = new A.LuminanceModulation(){ Val = 15000 };
            A.LuminanceOffset luminanceOffset15 = new A.LuminanceOffset(){ Val = 85000 };

            schemeColor39.Append(luminanceModulation15);
            schemeColor39.Append(luminanceOffset15);

            solidFill55.Append(schemeColor39);
            A.Round round6 = new A.Round();

            outline44.Append(solidFill55);
            outline44.Append(round6);
            A.EffectList effectList36 = new A.EffectList();

            shapeProperties29.Append(solidFill54);
            shapeProperties29.Append(outline44);
            shapeProperties29.Append(effectList36);

            C.TextProperties textProperties12 = new C.TextProperties();
            A.BodyProperties bodyProperties20 = new A.BodyProperties();
            A.ListStyle listStyle20 = new A.ListStyle();

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

            A.ParagraphProperties paragraphProperties12 = new A.ParagraphProperties();
            A.DefaultRunProperties defaultRunProperties12 = new A.DefaultRunProperties();

            paragraphProperties12.Append(defaultRunProperties12);
            A.EndParagraphRunProperties endParagraphRunProperties12 = new A.EndParagraphRunProperties(){ Language = "en-US" };

            paragraph20.Append(paragraphProperties12);
            paragraph20.Append(endParagraphRunProperties12);

            textProperties12.Append(bodyProperties20);
            textProperties12.Append(listStyle20);
            textProperties12.Append(paragraph20);

            C.PrintSettings printSettings8 = new C.PrintSettings();
            C.HeaderFooter headerFooter8 = new C.HeaderFooter();
            C.PageMargins pageMargins14 = new C.PageMargins(){ Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D };
            C.PageSetup pageSetup8 = new C.PageSetup();

            printSettings8.Append(headerFooter8);
            printSettings8.Append(pageMargins14);
            printSettings8.Append(pageSetup8);

            C.ChartSpaceExtensionList chartSpaceExtensionList8 = new C.ChartSpaceExtensionList();
            chartSpaceExtensionList8.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");
            chartSpaceExtensionList8.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");

            C.ChartSpaceExtension chartSpaceExtension8 = new C.ChartSpaceExtension(){ Uri = "{781A3756-C4B2-4CAC-9D66-4F8BD8637D16}" };
            chartSpaceExtension8.AddNamespaceDeclaration("c14", "http://schemas.microsoft.com/office/drawing/2007/8/2/chart");

            C14.PivotOptions pivotOptions8 = new C14.PivotOptions();
            C14.DropZoneFilter dropZoneFilter8 = new C14.DropZoneFilter(){ Val = true };
            C14.DropZoneCategories dropZoneCategories8 = new C14.DropZoneCategories(){ Val = true };
            C14.DropZoneData dropZoneData8 = new C14.DropZoneData(){ Val = true };
            C14.DropZoneSeries dropZoneSeries8 = new C14.DropZoneSeries(){ Val = true };
            C14.DropZonesVisible dropZonesVisible8 = new C14.DropZonesVisible(){ Val = true };

            pivotOptions8.Append(dropZoneFilter8);
            pivotOptions8.Append(dropZoneCategories8);
            pivotOptions8.Append(dropZoneData8);
            pivotOptions8.Append(dropZoneSeries8);
            pivotOptions8.Append(dropZonesVisible8);

            chartSpaceExtension8.Append(pivotOptions8);

            chartSpaceExtensionList8.Append(chartSpaceExtension8);

            chartSpace8.Append(date19048);
            chartSpace8.Append(editingLanguage8);
            chartSpace8.Append(roundedCorners8);
            chartSpace8.Append(alternateContent17);
            chartSpace8.Append(pivotSource8);
            chartSpace8.Append(chart8);
            chartSpace8.Append(shapeProperties29);
            chartSpace8.Append(textProperties12);
            chartSpace8.Append(printSettings8);
            chartSpace8.Append(chartSpaceExtensionList8);

            chartPart8.ChartSpace = chartSpace8;
        }
        /// <summary>
        /// Updates a ChartPart's caches and excel reference formilas with new tabular data.
        /// Use in conjunction with SpreadsheetDocument.Update to update the underlying spreadsheet values.
        /// </summary>
        /// <param name="chart">
        /// The OpenXml Chart's ChartPart</param>
        /// <param name="json">
        /// String in JSON format representing the tabular data for updating the Chart's cached data points.
        /// The JSON object must contain a "fields" attribute as an array containing the field/column names.
        /// The JSON object must contain a "rows" attribute as an array of arrays representing the rows and their values, with values matching the same order and cardinality of the field names.
        /// This is the same data as the underlying Excel spreadsheet contents.</param>
        /// <param name="sheetName">
        /// The name of the Excel worksheet where the chart data originates from.
        /// Used for updating the chart's cell references.</param>
        /// <returns>
        /// Returns the updated ChartPart.</returns>
        public static ChartPart Update(this ChartPart chart, string json, string sheetName)
        {
            //Splunk JSON data is a series of objects consisting of multiple key(column)/value(row) pairs in the result attribute.
            dynamic input = JsonConvert.DeserializeObject <dynamic>(json);

            if (input["rows"].Count == 0)
            {
                json  = "{\"fields\": [ \"No Results\" ], \"rows\": [[ \"No Results\" ]]}";
                input = JsonConvert.DeserializeObject <dynamic>(json);
            }

            var pointCount = new drc.PointCount();

            pointCount.Val = Convert.ToUInt32(input["rows"].Count);

            // The number of columns in the data table is equal to the number of data series + 1 (for the x-axis column).
            // Subtract 1 from the column count to get the number of data series.
            int dataColumnCount = input["fields"].Count - 1;
            int seriesCount     = chart.ChartSpace.Descendants().Where(e => e.GetType().ToString().EndsWith("ChartSeries")).Count();

            if (dataColumnCount < seriesCount)
            {
                // Fewer columns in the data source than there are series in the chart template.
                // Delete excess series from the chart template so we don't end up with old/dummy data in the chart.
                int removeCount = seriesCount - dataColumnCount;

                for (int i = 0; i < removeCount; i++)
                {
                    chart.ChartSpace.Descendants().Where(e => e.GetType().ToString().EndsWith("ChartSeries")).Last().Remove();
                }

                seriesCount = chart.ChartSpace.Descendants().Where(e => e.GetType().ToString().EndsWith("ChartSeries")).Count();
            }
            else if (dataColumnCount > seriesCount)
            {
                // More columns in the data source than there are series in the chart template.
                // Add some template series to the chart template so we don't drop any data off the chart.
                int            insertCount = dataColumnCount - seriesCount;
                OpenXmlElement firstSeries = chart.ChartSpace.Descendants().Where(e => e.GetType().ToString().EndsWith("ChartSeries")).First();

                for (int i = 0; i < insertCount; i++)
                {
                    OpenXmlElement newSeries = (OpenXmlElement)firstSeries.Clone();
                    newSeries.Descendants <drc.Index>().FirstOrDefault().Val.Value = Convert.ToUInt32(seriesCount + i);
                    newSeries.Descendants <drc.Order>().FirstOrDefault().Val.Value = Convert.ToUInt32(seriesCount + i);

                    var csp     = newSeries.Descendants <drc.ChartShapeProperties>().FirstOrDefault();
                    var newFill = CreateAccentSolidFill(seriesCount + i + 1);
                    csp.ChildElements.First <dr.SolidFill>().InsertAfterSelf(newFill);
                    csp.ChildElements.First <dr.SolidFill>().Remove();

                    firstSeries.Parent.AppendChild(newSeries);
                }
                seriesCount = chart.ChartSpace.Descendants().Where(e => e.GetType().ToString().EndsWith("ChartSeries")).Count();
            }

            // Use LINQ to get all elements of type *ChartSeries
            var seriesQuery =
                from elements in chart.ChartSpace.Descendants()
                where elements.GetType().ToString().EndsWith("ChartSeries")
                select elements;

            if (dataColumnCount == seriesCount)
            {
                //We're syncing two separate IEnumerables by index, so we should confirm that the sizes match.
                for (int seriesIndex = 0; seriesIndex < seriesQuery.Count(); seriesIndex++)
                {
                    var series = seriesQuery.ElementAt(seriesIndex);
                    Debug.WriteLine(string.Format("Updating series {0} of {1}", seriesIndex + 1, seriesQuery.Count()));

                    //Set the name of the chart series to the column name from from the data table.
                    //The first column contains axis data, so add 1 to get the series column.
                    drc.SeriesText seriesTitle = series.Descendants <drc.SeriesText>().FirstOrDefault();
                    seriesTitle.StringReference.Descendants <drc.NumericValue>().FirstOrDefault().Text = input["fields"][seriesIndex + 1].ToString();

                    var oldAxisData = series.Descendants <drc.CategoryAxisData>().FirstOrDefault();
                    var newAxisData = new drc.CategoryAxisData();

                    var sc = new drc.StringCache();
                    //Cloning the element saves extra lines of instantiation code.
                    sc.Append(pointCount.CloneNode(true));
                    var stringRef = new drc.StringReference(sc);

                    //var stringPoints = new List<OpenXmlElement>();
                    var oldValues = series.Descendants <drc.Values>().FirstOrDefault();
                    var newValues = new drc.Values();

                    // Don't think of a drawing chart like the underlying spreadsheet.
                    // In a drawing chart the axis (column A) is included in EVERY series (column B+).

                    //Prepare Axis Data
                    var axisColumn  = GetExcelColumnName(1);
                    var axisFormula = string.Format("{0}!${1}${2}:${1}${3}", sheetName, axisColumn, 2, input["rows"].Count + 1);

                    //Axis data in a chart consists of a cache of string values and the underlying Excel formula to generate these data.
                    //We manually populate the cache as word won't automatically update 'external' documents (even ones which are internal to the document package), because security.
                    stringRef.Append(new drc.Formula(axisFormula));
                    newAxisData.Append(stringRef);

                    //Update the cache with the string values from the data source
                    for (int r = 0; r < input["rows"].Count; r++)
                    {
                        var row = input["rows"][r];
                        Debug.WriteLine("Writing Chart Axis");
                        //Axis data is always the first column (0)
                        var cell  = input["rows"][r][0].ToString();
                        var point = new drc.StringPoint(new drc.NumericValue(cell));
                        point.Index = Convert.ToUInt32(r);
                        stringRef.StringCache.Append(point);
                    }

                    //Prepare Value Data
                    //Add 1 to make the index 1-based because excel columns start at A (== 1), add 1 again because the first column contains axis details, so our value columns will be one extra column over.
                    var dataColumn = GetExcelColumnName(seriesIndex + 2);
                    //Standard Excel data reference formula eg: "MyQuery!$B$2:$B$25" - The 'MyQuery' sheet from cell B2 to B25
                    var dataFormula = string.Format("{0}!${1}${2}:${1}${3}", sheetName, dataColumn, 2, input["rows"].Count + 1);

                    //Value data in a chart consists of a cache of point values and the underlying Excel formula to generate these data.
                    //We manually populate the cache as word won't automatically update 'external' documents (even ones which are internal to the document package), because security.
                    var nc = new drc.NumberingCache();
                    nc.Append(new drc.FormatCode("General"));
                    nc.Append(pointCount.CloneNode(true));
                    var numRef = new drc.NumberReference(nc);
                    numRef.Append(new drc.Formula(dataFormula));
                    newValues.Append(numRef);

                    //Update the cache with the point values from the data source
                    for (int r = 0; r < input["rows"].Count; r++)
                    {
                        var row = input["rows"][r];
                        Debug.WriteLine("Writing Chart Data");
                        var cell  = input["rows"][r][seriesIndex + 1].ToString();
                        var point = new drc.NumericPoint(new drc.NumericValue(cell));
                        point.Index = Convert.ToUInt32(r);
                        numRef.NumberingCache.Append(point);
                    }

                    //Swap out the old elements for our newly created replacements.
                    oldValues.Parent.ReplaceChild(newValues, oldValues);
                    oldAxisData.Parent.ReplaceChild(newAxisData, oldAxisData);
                }
            }
            else
            {
                //We should never end up here, something has gone very wrong.
                throw new IndexOutOfRangeException("The number of series in the chart does not match the number of data columns in the data table.");
            }

            return(chart);
        }