Como criar e editar gráficos do Excel em C#

How to Create and Edit Excel Charts in C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL permite que desenvolvedores C# criem, editem e removam gráficos Excel programaticamente usando chamadas de API simples. Você pode gerar tipos de gráficos de coluna, linha, pizza e outros diretamente de seus dados sem dependências do Excel Interop.

No Excel, um gráfico é uma representação gráfica de dados utilizada para exibir e analisar informações visualmente. O Excel fornece vários tipos de gráficos, como gráficos de barras, gráficos de linha e gráficos de pizza, cada um adequado para diferentes dados e necessidades de análise. Ao trabalhar com a biblioteca abrangente do Excel do IronXL, você pode programar essas visualizações para aprimorar seus relatórios e painéis.

Início rápido: Crie e Trace um Gráfico de Linha em Segundos

Com IronXL, você pode instalar, carregar um workbook, chamar CreateChart, adicionar sua série de dados, definir seu título e posição da legenda, e Plot—tudo em apenas algumas linhas. Este exemplo mostra como criar um gráfico usando métodos nativos do C# sem a sobrecarga do Interop.

  1. Instale IronXL com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronXL.Excel
  2. Copie e execute este trecho de código.

    // Load workbook and create a line chart with data series
    var chart = workSheet.CreateChart(ChartType.Line, 2, 2, 15, 10).AddSeries("A2:A10","B2:B10").Title = workSheet["B1"].StringValue; 
    // Set title and legend position, then plot the chart
    chart.SetTitle("Quick Line Chart").SetLegendPosition(LegendPosition.Bottom).Plot();
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita

    arrow pointer


Comece a usar o IronXL


Como Faço para Criar Gráficos no Excel?

O IronXL suporta gráficos de coluna, dispersão, linha, pizza, barra e área. Para criar um gráfico, especifique os seguintes componentes. Essa flexibilidade permite que você crie planilhas do Excel com visualizações ricas adaptadas às suas necessidades de apresentação de dados.

  1. Use CreateChart para especificar o tipo de gráfico e local da planilha.
  2. Adicione séries com AddSeries. Este método aceita uma única coluna para alguns tipos de gráficos. O primeiro parâmetro são os valores do eixo horizontal. O segundo são os valores do eixo vertical.
  3. Opcionalmente, especifique o nome da série, o nome do gráfico e a posição da legenda.
  4. Chame Plot para renderizar o gráfico. Chamadas múltiplas criam vários gráficos.

Vamos criar gráficos a partir dos dados no arquivo Excel chart.xlsx. Uma pré-visualização dos dados é exibida abaixo:

Planilha com dados de exemplo mostrando contagens mensais de animais para girafas, elefantes e rinocerontes de Jan-Jun

Qual é o Processo para Criar Gráficos de Coluna?

Gráficos de coluna são ideais para comparar valores entre categorias. Ao carregar dados de planilha, você pode visualizá-los de forma eficaz usando gráficos de coluna para destacar diferenças entre pontos de dados. O exemplo a seguir demonstra como criar um gráfico de coluna multisséries com dados de população animal:

:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-column-chart.cs
using IronXL;
using IronXL.Drawing.Charts;

WorkBook workBook = WorkBook.Load("chart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Set the chart type and position
IChart chart = workSheet.CreateChart(ChartType.Column, 5, 5, 20, 10);

string xAxis = "A2:A7";

// Add the series
IChartSeries series = chart.AddSeries(xAxis, "B2:B7");
series.Title = workSheet["B1"].StringValue;

// Add the series
series = chart.AddSeries(xAxis, "C2:C7");
series.Title = workSheet["C1"].StringValue;

// Add the series
series = chart.AddSeries(xAxis, "D2:D7");
series.Title = workSheet["D1"].StringValue;

// Set the chart title
chart.SetTitle("Column Chart");

// Set the legend position
chart.SetLegendPosition(LegendPosition.Bottom);

// Plot the chart
chart.Plot();

workBook.SaveAs("columnChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts

Private workBook As WorkBook = WorkBook.Load("chart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Set the chart type and position
Private chart As IChart = workSheet.CreateChart(ChartType.Column, 5, 5, 20, 10)

Private xAxis As String = "A2:A7"

' Add the series
Private series As IChartSeries = chart.AddSeries(xAxis, "B2:B7")
series.Title = workSheet("B1").StringValue

' Add the series
series = chart.AddSeries(xAxis, "C2:C7")
series.Title = workSheet("C1").StringValue

' Add the series
series = chart.AddSeries(xAxis, "D2:D7")
series.Title = workSheet("D1").StringValue

' Set the chart title
chart.SetTitle("Column Chart")

' Set the legend position
chart.SetLegendPosition(LegendPosition.Bottom)

' Plot the chart
chart.Plot()

workBook.SaveAs("columnChart.xlsx")
$vbLabelText   $csharpLabel
Planilha do Excel mostrando tabela de dados de animais e gráfico de coluna agrupado correspondente com contagens mensais de girafas, elefantes e rinocerontes

Como Faço para Criar Gráficos de Linha?

Gráficos de linha são excelentes para mostrar tendências ao longo do tempo. Como gráficos de linha exibem as mesmas informações que gráficos de coluna, alternar entre eles exige apenas mudar o tipo de gráfico. Isso torna os gráficos de linha particularmente úteis ao ler arquivos XLSX contendo dados de séries temporais:

:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-pie-chart.cs
using IronXL;
using IronXL.Drawing.Charts;

WorkBook workBook = WorkBook.Load("chart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Set the chart type and position
IChart chart = workSheet.CreateChart(ChartType.Pie, 5, 5, 20, 10);

string xAxis = "A2:A7";

// Add the series
IChartSeries series = chart.AddSeries(xAxis, "B2:B7");
series.Title = workSheet["B1"].StringValue;

// Set the chart title
chart.SetTitle("Pie Chart");

// Set the legend position
chart.SetLegendPosition(LegendPosition.Bottom);

// Plot the chart
chart.Plot();

workBook.SaveAs("pieChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts

Private workBook As WorkBook = WorkBook.Load("chart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Set the chart type and position
Private chart As IChart = workSheet.CreateChart(ChartType.Pie, 5, 5, 20, 10)

Private xAxis As String = "A2:A7"

' Add the series
Private series As IChartSeries = chart.AddSeries(xAxis, "B2:B7")
series.Title = workSheet("B1").StringValue

' Set the chart title
chart.SetTitle("Pie Chart")

' Set the legend position
chart.SetLegendPosition(LegendPosition.Bottom)

' Plot the chart
chart.Plot()

workBook.SaveAs("pieChart.xlsx")
$vbLabelText   $csharpLabel
Planilha do Excel mostrando tabela de dados de animais e gráfico de linha correspondente com três linhas de tendência para girafas, elefantes e rinocerontes

Quando Devo Usar Gráficos de Pizza?

Gráficos de pizza mostram proporções e porcentagens de um todo. Para gráficos de pizza, apenas uma coluna de dados é necessária, tornando-os mais simples de implementar. Eles são eficazes quando você deseja converter dados de planilhas em representações visuais de participação de mercado, alocação de orçamento ou distribuição de categorias:

:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-pie-chart.cs
using IronXL;
using IronXL.Drawing.Charts;

WorkBook workBook = WorkBook.Load("chart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Set the chart type and position
IChart chart = workSheet.CreateChart(ChartType.Pie, 5, 5, 20, 10);

string xAxis = "A2:A7";

// Add the series
IChartSeries series = chart.AddSeries(xAxis, "B2:B7");
series.Title = workSheet["B1"].StringValue;

// Set the chart title
chart.SetTitle("Pie Chart");

// Set the legend position
chart.SetLegendPosition(LegendPosition.Bottom);

// Plot the chart
chart.Plot();

workBook.SaveAs("pieChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts

Private workBook As WorkBook = WorkBook.Load("chart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Set the chart type and position
Private chart As IChart = workSheet.CreateChart(ChartType.Pie, 5, 5, 20, 10)

Private xAxis As String = "A2:A7"

' Add the series
Private series As IChartSeries = chart.AddSeries(xAxis, "B2:B7")
series.Title = workSheet("B1").StringValue

' Set the chart title
chart.SetTitle("Pie Chart")

' Set the legend position
chart.SetLegendPosition(LegendPosition.Bottom)

' Plot the chart
chart.Plot()

workBook.SaveAs("pieChart.xlsx")
$vbLabelText   $csharpLabel
Planilha com dados de vida selvagem e gráfico de pizza mostrando distribuição mensal de girafas, abril destacado com 89 girafas (21%)

Como Faço para Editar Gráficos Existentes?

Ao trabalhar com arquivos Excel existentes, pode ser necessário modificar gráficos já criados. O IronXL fornece métodos diretos para editar gráficos existentes, permitindo que você atualize títulos, reposicione legendas e atualize dados. Isso é útil ao editar arquivos Excel que contêm visualizações pré-existentes.

Você pode editar a posição da legenda e o título do gráfico em gráficos existentes. Para editar um gráfico, primeiro recupere-o acessando a propriedade Charts e selecionando o gráfico desejado. Em seguida, acesse as propriedades do gráfico para fazer suas edições:

:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-edit-chart.cs
using IronXL;
using IronXL.Drawing.Charts;

WorkBook workBook = WorkBook.Load("pieChart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Retrieve the chart
IChart chart = workSheet.Charts[0];

// Edit the legend position
chart.SetLegendPosition(LegendPosition.Top);

// Edit the chart title
chart.SetTitle("Edited Chart");

workBook.SaveAs("editedChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts

Private workBook As WorkBook = WorkBook.Load("pieChart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Retrieve the chart
Private chart As IChart = workSheet.Charts(0)

' Edit the legend position
chart.SetLegendPosition(LegendPosition.Top)

' Edit the chart title
chart.SetTitle("Edited Chart")

workBook.SaveAs("editedChart.xlsx")
$vbLabelText   $csharpLabel
Gráfico de pizza mostrando dados mensais de jan a jun com segmentos codificados por cores e legenda abaixo
Gráfico de pizza mostrando a distribuição mensal de dados de janeiro a junho com segmentos codificados por cores e legenda

Como Faço para Remover Gráficos do Excel?

Às vezes, é preciso limpar arquivos Excel removendo gráficos desatualizados ou desnecessários. Isso é comum ao gerenciar planilhas que contêm múltiplas visualizações. Para remover um gráfico existente de uma planilha, primeiro recupere o gráfico da propriedade Charts. Você receberá uma lista de gráficos. Passe o objeto gráfico desejado para RemoveChart:

:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-remove-chart.cs
using IronXL;
using IronXL.Drawing.Charts;
using System.Collections.Generic;

WorkBook workBook = WorkBook.Load("pieChart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Retrieve the chart
List<IChart> chart = workSheet.Charts;

// Remove the chart
workSheet.RemoveChart(chart[0]);

workBook.SaveAs("removedChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts
Imports System.Collections.Generic

Private workBook As WorkBook = WorkBook.Load("pieChart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Retrieve the chart
Private chart As List(Of IChart) = workSheet.Charts

' Remove the chart
workSheet.RemoveChart(chart(0))

workBook.SaveAs("removedChart.xlsx")
$vbLabelText   $csharpLabel

Personalização Avançada de Gráficos

Além da criação básica de gráficos, o IronXL suporta opções de personalização avançada. Ao criar relatórios ou dashboards complexos, você pode combinar gráficos com outros recursos do Excel, como formatação condicional para criar visualizações de dados abrangentes.

Para aplicativos de negócios, os gráficos frequentemente precisam de geração dinâmica a partir de consultas de banco de dados ou fontes de dados em tempo real. IronXL integra-se perfeitamente com estruturas de dados .NET, permitindo que você crie gráficos a partir de DataTables, Lists ou qualquer coleção enumerável. Isso o torna ideal para gerar relatórios automatizados que incluem elementos visuais.

Resumo

IronXL oferece uma solução completa para trabalhar com gráficos do Excel em aplicativos C#. Seja criando novas visualizações, modificando as existentes ou removendo gráficos desatualizados, a biblioteca oferece métodos intuitivos que não exigem Excel Interop. Combinando a funcionalidade de gráficos com outros recursos do IronXL, como manipulação e formatação de dados, você pode construir soluções sofisticadas de automação no Excel que aprimoram a apresentação e análise de dados em seus aplicativos .NET.

Perguntas frequentes

Como posso criar gráficos do Excel programaticamente em C# sem usar Interop?

IronXL fornece uma API simples para criar gráficos do Excel em C# sem dependências de interoperabilidade. Você pode usar o método CreateChart para especificar o tipo e a posição do gráfico, AddSeries para adicionar dados e Plot para renderizar o gráfico — tudo por meio de código C# nativo.

Que tipos de gráficos posso criar em planilhas do Excel usando C#?

O IronXL permite a criação de diversos tipos de gráficos, incluindo gráficos de colunas, dispersão, linhas, pizza, barras e área. Você pode especificar o tipo de gráfico ao chamar o método CreateChart e personalizar cada gráfico com títulos, legendas e séries de dados.

Como faço para adicionar séries de dados a um gráfico do Excel programaticamente?

Use o método AddSeries do IronXL para adicionar dados aos seus gráficos. Este método aceita intervalos de células como parâmetros — o primeiro parâmetro para os valores do eixo horizontal e o segundo para os valores do eixo vertical. Você pode adicionar várias séries para criar gráficos com múltiplas séries.

Qual é a maneira mais rápida de criar um gráfico de linhas no Excel usando C#?

Com o IronXL, você pode criar um gráfico de linhas em apenas algumas linhas de código: use CreateChart(ChartType.Line) para inicializar o gráfico, AddSeries() para adicionar seus intervalos de dados, SetTitle() para o título do gráfico e Plot() para renderizá-lo na planilha.

Posso personalizar propriedades do gráfico, como título e posição da legenda?

Sim, o IronXL permite a personalização completa de gráficos do Excel. Você pode usar SetTitle() para adicionar títulos aos gráficos, SetLegendPosition() para posicionar a legenda (superior, inferior, esquerda, direita) e, opcionalmente, especificar nomes de séries para melhor identificação dos dados.

Preciso ter o Microsoft Excel instalado para criar gráficos programaticamente?

Não, o IronXL funciona de forma independente, sem necessidade de instalar o Microsoft Excel. Ele lida internamente com todas as operações de arquivos do Excel e a criação de gráficos, sendo ideal para ambientes de servidor e aplicações onde o Excel não pode ser instalado.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 2,134,203 | Versão: 2026.7 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronXL.Excel
executar um exemplo Veja seus dados se transformarem em uma planilha.