Abhilash.J.A Ответов: 0

Почему бы ничего не показывать при экспорте piechart в word 2010 с помощью C#?


Сэр,

Я пытаюсь создать круговую диаграмму, а затем экспортировать ее в word с помощью OpenXml в c#.net. Но проблема в том, что,

1) он экспортирует, но ничего не показывает только ms word 2010.

2) я использую ASP.NET проект MVC4, есть круговая диаграмма google, которая имеет около 1000 данных, представляющих с несколькими цветами. Но я не могу видеть все детали из Word, когда он экспортируется в первый раз. Теперь это кажется только цветом. Как я могу увидеть все данные при первом экспорте word 2016?

Это моя круговая диаграмма Google. Я пытаюсь экспортировать в word 2016 с помощью OpenXml в ASP.NET MVC4, то же самое, что и изображение. Пожалуйста, смотрите ссылку ниже.



Я использовал пример кода для этой ссылки ниже.



Будьте добры, ответьте мне.
Заранее Благодарю.

Что я уже пробовал:

CreateWordChart createWordChart = null;
//
try
{
    createWordChart = new CreateWordChart(p);             
    List<chartsubarea> chartAreas = new List<chartsubarea>();
    int j=0;

    foreach (var item in charts)
    {
        if (j == 5)
        {
            j = 0;
        }

        chartAreas.Add(new ChartSubArea() 
            { 
                Color = (SchemeColorValues)listArr[j], 
                Label = item.Label, 
                Value = item.Value1.ToString() 
            });
        j++;    
    }               

    createWordChart.CreateChart(chartAreas);
}
catch (Exception ex)
{
}
finally
{
    if (createWordChart != null)
    {
        createWordChart.Dispose();
    }
}

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.Bottom });
    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);
}

public class ChartSubArea
{
    public SchemeColorValues Color { get; set; }
    public String Label { get; set; }
    public string Value { get; set; }
}</chartpart></chartsubarea></chartsubarea></chartsubarea>

Zujaj

Извините за грубость, но, пожалуйста, используйте теги кода для написания кода
такие как
< pre lang = " c#">
Приставка.WriteLine ("Привет, Мир");
< / pre>

0 Ответов