Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    • MongoDB Analyzer para .NET: Visualize e otimize suas consultas de forma simples
    • Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Asp.net»C#»Criação de gráficos no PowerPoint utilizando C#

    Criação de gráficos no PowerPoint utilizando C#

    Jhonathan SoaresBy Jhonathan Soares1 de novembro de 20172 Mins Read C#
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Introdução

    Quando se trata de apresentação do PowerPoint, os gráficos são bastante importantes, não é mesmo? Gráficos podem visualizar uma grande quantidade de dados complexos, o que é útil para comparação e análise de dados. Este artigo enfoca a forma de criar os tipos de gráficos mais utilizados (incluindo gráfico de colunas, gráfico de torta e gráfico de combinação) usando . NET Presentation Library em suas aplicações C #.

    Antes de começar, você precisa baixar a biblioteca do link fornecido ou adicionar via nuget, adicionar os arquivos DLL como referências em seu projeto e importar os seguintes espaços de nome necessários no início.

    using System;  
    using Spire.Presentation;  
    using System.Drawing;  
    using Spire.Presentation.Charts;  
    using System.Data;  
    using Spire.Presentation.Drawing;   
    

     

    Como criar um gráfico de colunas

    Um gráfico de colunas exibe uma série como um conjunto de barras verticais que são agrupadas por categoria, o seguinte gráfico ficaria desta forma:

    Veja o código fonte do mesmo:

     
        //create a PowerPoint document  
        Presentation presentation = new Presentation();  
          
        //insert a column chart  
        RectangleF rect = new RectangleF(40, 100, 550, 320);  
        IChart chart = presentation.Slides[0].Shapes.AppendChart(ChartType.ColumnClustered, rect);  
          
        //set title  
        chart.ChartTitle.TextProperties.Text = "Male/Female Ratio Per Dept.";  
        chart.ChartTitle.TextProperties.IsCentered = true;  
        chart.ChartTitle.Height = 30;  
        chart.HasTitle = true;  
          
        //define a multi-dimensional array of strings  
        string[,] data = new string[,]  
        {  
          {"Department","Male","Female" },  
          {"Development","25","15"},  
          {"Testing","5","10" },  
          {"Sales","7","3" },  
          {"Support","20","5" }  
        };  
          
        //write data to chart data  
        for (int i = 0; i < data.GetLength(0); i++)  
        {  
            for (int j = 0; j < data.GetLength(1); j++)  
            {  
                int number;  
                bool result = Int32.TryParse(data[i, j], out number);  
                if (result)  
                {  
                    chart.ChartData[i, j].Value = number;  
                }  
                else  
                {  
                    chart.ChartData[i, j].Value = data[i, j];  
                }  
            }  
        }  
          
        //set series labels  
        chart.Series.SeriesLabel = chart.ChartData["B1", "C1"];  
          
        //set category labels  
        chart.Categories.CategoryLabels = chart.ChartData["A2", "A5"];  
          
        //set the series values  
        chart.Series[0].Values = chart.ChartData["B2", "B5"];  
        chart.Series[1].Values = chart.ChartData["C2", "C5"];  
          
        //apply built-in chart style  
        chart.ChartStyle = ChartStyle.Style11;  
          
        //set overlap  
        chart.OverLap = -50;  
          
        //set gap width  
        chart.GapWidth = 200;  
          
        //save to file  
        presentation.SaveToFile("ColumnChart.pptx", FileFormat.Pptx2010);  
    

     

    Como criar um gráfico de pizza

    Um gráfico de torta ajuda a mostrar as proporções e porcentagens entre as categorias, dividindo um círculo em segmentos proporcionais, veja a imagem gerada:

    Veja o código fonte:

         //create a PowerPoint document  
        Presentation ppt = new Presentation();  
          
        //insert a pie chart  
        RectangleF rect1 = new RectangleF(40, 100, 550, 320);  
        IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.Pie, rect1, false);  
          
        //set title  
        chart.ChartTitle.TextProperties.Text = "Sales by Quarter";  
        chart.ChartTitle.TextProperties.IsCentered = true;  
        chart.ChartTitle.Height = 30;  
        chart.HasTitle = true;  
          
        //define sample data and assign the data to chart data  
        string[] quarters = new string[] { "1st Qtr", "2nd Qtr", "3rd Qtr", "4th Qtr" };  
        int[] sales = new int[] { 210, 320, 180, 500 };  
        chart.ChartData[0, 0].Text = "Quarters";  
        chart.ChartData[0, 1].Text = "Sales";  
        for (int i = 0; i < quarters.Length; ++i)  
        {  
            chart.ChartData[i + 1, 0].Value = quarters[i];  
            chart.ChartData[i + 1, 1].Value = sales[i];  
        }  
          
        //set series label  
        chart.Series.SeriesLabel = chart.ChartData["B1", "B1"];  
          
        //set category labels  
        chart.Categories.CategoryLabels = chart.ChartData["A2", "A5"];  
          
        //set series values  
        chart.Series[0].Values = chart.ChartData["B2", "B5"];  
          
        //ddd data points to series and fill each data point with different color  
        for (int i = 0; i < chart.Series[0].Values.Count; i++)  
        {  
            ChartDataPoint cdp = new ChartDataPoint(chart.Series[0]);  
            cdp.Index = i;  
            chart.Series[0].DataPoints.Add(cdp);  
          
        }  
        chart.Series[0].DataPoints[0].Fill.FillType = FillFormatType.Solid;  
        chart.Series[0].DataPoints[0].Fill.SolidColor.Color = Color.LightBlue;  
        chart.Series[0].DataPoints[1].Fill.FillType = FillFormatType.Solid;  
        chart.Series[0].DataPoints[1].Fill.SolidColor.Color = Color.DarkGray;  
        chart.Series[0].DataPoints[2].Fill.FillType = FillFormatType.Solid;  
        chart.Series[0].DataPoints[2].Fill.SolidColor.Color = Color.MediumPurple;  
        chart.Series[0].DataPoints[3].Fill.FillType = FillFormatType.Solid;  
        chart.Series[0].DataPoints[3].Fill.SolidColor.Color = Color.DarkOrange;  
          
        //set labels to display label value and percentage value.  
        chart.Series[0].DataLabels.LabelValueVisible = true;  
        chart.Series[0].DataLabels.PercentValueVisible = true;  
          
        //save to file  
        ppt.SaveToFile("PieChart.pptx", FileFormat.Pptx2010);  
        

     

    Como criar um gráfico de combinação

    Um gráfico de combinação é um gráfico que combina dois ou mais tipos de gráfico em um único gráfico, neste caso barra e linha:

    Veja o código fonte do gráfico:

         //create a PowerPoint document  
        Presentation presentation = new Presentation();  
          
        //insert a column chart  
        RectangleF rect = new RectangleF(40, 100, 550, 320);  
        IChart chart = presentation.Slides[0].Shapes.AppendChart(ChartType.ColumnClustered, rect);  
          
        //set chart title  
        chart.ChartTitle.TextProperties.Text = "Monthly Sales Report";  
        chart.ChartTitle.TextProperties.IsCentered = true;  
        chart.ChartTitle.Height = 30;  
        chart.HasTitle = true;  
          
        //create a datatable  
        DataTable dataTable = new DataTable();  
        dataTable.Columns.Add(new DataColumn("Month", Type.GetType("System.String")));  
        dataTable.Columns.Add(new DataColumn("Sales", Type.GetType("System.Int32")));  
        dataTable.Columns.Add(new DataColumn("Growth rate", Type.GetType("System.Decimal")));  
        dataTable.Rows.Add("January", 200, 0.6);  
        dataTable.Rows.Add("February", 250, 0.8);  
        dataTable.Rows.Add("March", 300, 0.6);  
        dataTable.Rows.Add("April", 150, 0.2);  
        dataTable.Rows.Add("May", 200, 0.5);  
        dataTable.Rows.Add("June", 400, 0.9);  
          
        //import data from datatable to chart data  
        for (int c = 0; c < dataTable.Columns.Count; c++)  
        {  
            chart.ChartData[0, c].Text = dataTable.Columns[c].Caption;  
        }  
        for (int r = 0; r < dataTable.Rows.Count; r++)  
        {  
            object[] datas = dataTable.Rows[r].ItemArray;  
            for (int c = 0; c < datas.Length; c++)  
            {  
                chart.ChartData[r + 1, c].Value = datas[c];  
          
            }  
        }  
          
        //set series labels  
        chart.Series.SeriesLabel = chart.ChartData["B1", "C1"];  
          
        //set categories labels      
        chart.Categories.CategoryLabels = chart.ChartData["A2", "A7"];  
          
        //assign data to series values  
        chart.Series[0].Values = chart.ChartData["B2", "B7"];  
        chart.Series[1].Values = chart.ChartData["C2", "C7"];  
          
        //change the chart type of series 2 to line chart with markers  
        chart.Series[1].Type = ChartType.LineMarkers;  
          
        //plot data of series 2 on the secondary axis  
        chart.Series[1].UseSecondAxis = true;  
          
        //set the number format as percentage   
        chart.SecondaryValueAxis.NumberFormat = "0%";  
          
        //hide grid lines of secondary axis  
        chart.SecondaryValueAxis.MajorGridTextLines.FillType = FillFormatType.None;  
          
        //set overlap  
        chart.OverLap = -50;  
          
        //set gap width  
        chart.GapWidth = 200;  
          
        //save to file  
        presentation.SaveToFile("CombinationChart.pptx", FileFormat.Pptx2010);  
    
    

    Espero que tenham gostado do tutorial de hoje! Um grande abraço 🙂

     

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    O que é a Ecma e qual é sua relação com C#?

    C# Post do Leitor 29 de julho de 20247 Mins Read

    UUID vs ULID: comparação e exemplos em C#

    C# 19 de junho de 20245 Mins Read

    Entendendo o ObjectId no MongoDB

    C# NoSql 25 de maio de 20246 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    Categorias
    • Arquitetura (14)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (1)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile