criar gráficos excel C#

Os gráficos do Excel são usados para visualizar os dados em planilhas. O MS Excel oferece suporte a uma variedade de gráficos, como linha, barra, torta, rosquinha, pirâmide, bolha, etc. Neste artigo, você aprenderá a criar gráficos em arquivos do Excel usando C#.

API C# para criar gráficos no Excel

Para trabalhar com gráficos do Excel, usaremos Aspose.Cells for .NET. É uma API poderosa que permite implementar a automação do Excel em aplicativos .NET. Além disso, permite criar uma variedade de gráficos sem problemas. Para usar a API, você pode baixar a DLL ou instalá-la usando NuGet.

Install-Package Aspose.Cells

Tipos de gráfico do Excel suportados

Aspose.Cells para .NET fornece um conjunto completo de tipos de gráficos padrão. A lista inclui, mas não se limita a:

  • Coluna
  • ColunaStacked
  • Coluna100PercentStacked
  • Coluna3DClustered
  • Coluna3DStacked
  • Coluna3D100PercentStacked
  • Coluna3D
  • Bar
  • BarStacked
  • Bar100PercentStacked
  • Bar3DClustered
  • Bar3DStacked
  • Bar3D100PercentStacked
  • Linha
  • LinhaStacked
  • Linha100PercentStacked
  • LinhaWithDataMarkers
  • LinhaStackedWithDataMarkers
  • Linha100PercentStackedWithDataMarkers
  • Linha3D
  • Torta
  • Torta3D
  • TortaPie
  • TortaExploded
  • Torta3DExploded
  • TortaBar
  • Dispersão
  • DispersãoConnectedByCurvesWithDataMarker

Para obter uma lista completa de gráficos do Excel compatíveis, visite este artigo.

Criar gráficos no Excel usando C#

A seguir estão as etapas para criar um gráfico no Excel usando C#.

O exemplo de código a seguir mostra como criar um gráfico do Excel usando C#.

// Instanciar um objeto Workbook
Workbook workbook = new Workbook();

// Obtenha a referência da primeira planilha
Worksheet worksheet = workbook.Worksheets[0];

// Adicionar valores de amostra às células
worksheet.Cells["A2"].PutValue("Category1");
worksheet.Cells["A3"].PutValue("Category2");
worksheet.Cells["A4"].PutValue("Category3");

worksheet.Cells["B1"].PutValue("Column1");
worksheet.Cells["B2"].PutValue(4);
worksheet.Cells["B3"].PutValue(20);
worksheet.Cells["B4"].PutValue(50);
worksheet.Cells["C1"].PutValue("Column2");
worksheet.Cells["C2"].PutValue(50);
worksheet.Cells["C3"].PutValue(100);
worksheet.Cells["C4"].PutValue(150);

// Adicionar um gráfico à planilha
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5);

// Acesse a instância do gráfico recém-adicionado
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex];

// Defina a fonte de dados do gráfico como o intervalo "A1:C4"
chart.SetChartDataRange("A1:C4", true);

// Salve o arquivo Excel
workbook.Save("Column-Chart.xls");
criar gráfico de colunas em c#

Criar um gráfico de linhas no Excel usando C#

Para inserir um gráfico de linhas, você só precisa especificar o tipo ChartType.Line no método Worksheet.Charts.Add(). As demais etapas serão as mesmas mencionadas na seção anterior.

O exemplo de código a seguir mostra como criar um gráfico de linhas no Excel usando C#.

// Instanciar um objeto Workbook
Workbook workbook = new Workbook();

// Obtenha a referência da primeira planilha
Worksheet worksheet = workbook.Worksheets[0];

// Adicionar valores de amostra às células
worksheet.Cells["A2"].PutValue("Category1");
worksheet.Cells["A3"].PutValue("Category2");
worksheet.Cells["A4"].PutValue("Category3");

worksheet.Cells["B1"].PutValue("Column1");
worksheet.Cells["B2"].PutValue(4);
worksheet.Cells["B3"].PutValue(20);
worksheet.Cells["B4"].PutValue(50);
worksheet.Cells["C1"].PutValue("Column2");
worksheet.Cells["C2"].PutValue(50);
worksheet.Cells["C3"].PutValue(100);
worksheet.Cells["C4"].PutValue(150);

// Adicionar um gráfico à planilha
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Line, 5, 0, 15, 5);

// Acesse a instância do gráfico recém-adicionado
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex];

// Defina a fonte de dados do gráfico como o intervalo "A1:C4"
chart.SetChartDataRange("A1:C4", true);

// Salve o arquivo Excel
workbook.Save("Line-Chart.xls");
gráfico de linhas no Excel C#

Criar um gráfico de pirâmide no Excel usando C#

Para adicionar um gráfico de pirâmide, basta passar o tipo ChartType.Pyramid ao adicionar o gráfico à planilha. A seguir estão as etapas para adicionar um gráfico de pirâmide no Excel usando C#.

O exemplo de código a seguir mostra como inserir um gráfico de pirâmide em uma planilha do Excel usando C#.

// Instanciar um objeto Workbook
Workbook workbook = new Workbook();

// Obtenha a referência da primeira planilha
Worksheet worksheet = workbook.Worksheets[0];

// Adicionar valores de amostra às células
worksheet.Cells["A2"].PutValue("Category1");
worksheet.Cells["A3"].PutValue("Category2");
worksheet.Cells["A4"].PutValue("Category3");

worksheet.Cells["B1"].PutValue("Column1");
worksheet.Cells["B2"].PutValue(4);
worksheet.Cells["B3"].PutValue(20);
worksheet.Cells["B4"].PutValue(50);
worksheet.Cells["C1"].PutValue("Column2");
worksheet.Cells["C2"].PutValue(50);
worksheet.Cells["C3"].PutValue(100);
worksheet.Cells["C4"].PutValue(150);

// Adicionar um gráfico à planilha
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Pyramid, 5, 0, 15, 5);

// Acesse a instância do gráfico recém-adicionado
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex];

// Defina a fonte de dados do gráfico como o intervalo "A1:C4"
chart.SetChartDataRange("A1:C4", true);

// Salve o arquivo Excel
workbook.Save("Pyramid-Chart.xls");
criar gráfico de pirâmide no Excel

Para saber mais sobre como trabalhar com gráficos do Excel, leia este artigo de documentação.

Obtenha uma licença de API gratuita

Você pode experimentar o Aspose.Cells para .NET sem limitações de avaliação solicitando uma licença temporária.

Conclusão

Neste artigo, você viu como criar gráficos em planilhas do Excel usando C#. Particularmente, você aprendeu a criar gráficos de colunas, linhas e pirâmides no Excel. Além disso, você também pode criar outros tipos de gráficos usando o Aspose.Cells para .NET. Para mais detalhes, visite a documentação da API. Caso você tenha alguma dúvida, entre em contato conosco através do nosso fórum.

Veja também