Cómo crear y editar gráficos de Excel en C#

Cómo crear y editar gráficos de Excel en C

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

En Excel, un gráfico es una representación gráfica de datos. Es una herramienta visual utilizada para mostrar y analizar datos de una manera más comprensible y significativa. Excel proporciona una variedad de tipos de gráficos, como gráficos de barras, gráficos de líneas, gráficos de sectores y más, cada uno de los cuales es adecuado para diferentes tipos de datos y análisis.

como-título:2(Inicio rápido: Crear y dibujar un gráfico de líneas en segundos)

Con IronXL, puedes instalar, cargar un libro de trabajo, llamar a CreateChart, añadir tus series de datos, establecer tu título y la posición de la leyenda, y trazar, todo en solo unas pocas líneas. Este ejemplo muestra la rapidez con la que puedes pasar de no tener gráfico a un visual pulido utilizando métodos nativos de C#, sin ninguna carga de Interop.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronXL con el gestor de paquetes NuGet

    PM > Install-Package IronXL.Excel

  2. Copie y ejecute este fragmento de código.

    var chart = workSheet.CreateChart(ChartType.Line, 2, 2, 15, 10).AddSeries("A2:A10","B2:B10").Title = workSheet["B1"].StringValue; chart.SetTitle("Quick Line Chart").SetLegendPosition(LegendPosition.Bottom).Plot();
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronXL en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer


Comience a utilizar IronXL

Comience a usar IronXL en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer


Ejemplo de creación de gráficos

IronXL admite gráficos de columnas, de dispersión, de líneas, de sectores, de barras y de áreas. Para crear un gráfico, debemos especificar algunas cosas por separado.

  1. Comienza utilizando el método CreateChart para especificar el tipo de gráfico y su ubicación en la hoja de trabajo.
  2. Añade las series con el método AddSeries. Este método también acepta una sola columna de datos, ya que es suficiente para algunos tipos de gráficos. El primer parámetro representa los valores para el eje horizontal. El segundo parámetro representa los valores para el eje vertical.
  3. Opcionalmente, especifica el nombre de la serie, el nombre del gráfico y la posición de la leyenda.
  4. Invoca el método Plot para dibujar el gráfico. El método trazará el gráfico utilizando todos los datos que se añadieron. Llamadas múltiples a este método conducen a trazar múltiples gráficos en lugar de modificar el gráfico existente.

Let's create some charts from the data in the chart.xlsx Excel file. A preview of the data is displayed below:

Datos

Gráfico de columnas

: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
Gráfico de columnas

Gráfico de líneas

Dado que un gráfico de líneas puede representar tanta información como un gráfico de columnas, cambiar entre ambos es muy sencillo. Solo necesitas cambiar el tipo de gráfico.

:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-line-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("Line Chart");

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

// Plot the chart
chart.Plot();

workBook.SaveAs("lineChart.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("Line Chart")

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

' Plot the chart
chart.Plot()

workBook.SaveAs("lineChart.xlsx")
$vbLabelText   $csharpLabel
Gráfico de líneas

Gráfico circular

Para un gráfico de sectores, solo se necesita una columna de datos.

: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
Gráfico circular

Ejemplo de edición de gráfico

Hay algunas cosas que puedes editar en un gráfico existente. Puedes editar la posición de la leyenda y el título del gráfico. Para editar el gráfico, primero debes recuperarlo accediendo a la propiedad Charts y seleccionar el gráfico objetivo para editar. Desde allí, accede a las propiedades del gráfico para realizar tus ediciones.

: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
Antes
Después

Ejemplo de eliminar gráfico

Para eliminar un gráfico existente de una hoja de cálculo, primero recupera el gráfico de la propiedad Charts del objeto de la hoja de trabajo. Recibirás una lista de gráficos de la propiedad Charts. Pasa el objeto del gráfico objetivo al método RemoveChart para eliminarlo.

: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

Preguntas Frecuentes

¿Cómo puedo crear gráficos de Excel en C# sin usar Interop?

Puede crear gráficos de Excel en C# sin Interop usando la biblioteca IronXL. Primero, descargue la biblioteca desde NuGet y luego use métodos como CreateChart para especificar el tipo de gráfico y su ubicación en la hoja de trabajo.

¿Qué pasos están involucrados en personalizar gráficos de Excel usando C#?

Para personalizar gráficos de Excel usando C#, primero prepare sus datos, luego use el método AddSeries para agregar series de datos. Personalice las propiedades del gráfico, como los títulos y las posiciones de la leyenda, accediendo al gráfico a través de la propiedad Charts de la hoja de trabajo.

¿Cómo cambio entre diferentes tipos de gráficos en C#?

Cambiar entre diferentes tipos de gráficos en C# es sencillo. Simplemente cambie el parámetro de tipo de gráfico en el método CreateChart para alternar entre gráficos de columnas, dispersión, líneas, pastel, barras o áreas.

¿Cuál es el método para guardar los cambios después de editar un gráfico de Excel en C#?

Después de editar un gráfico de Excel, use el método SaveAs para guardar los cambios en el libro de trabajo, asegurando que todas las modificaciones se conserven.

¿Puedo eliminar un gráfico existente de una hoja de trabajo de Excel usando C#?

Sí, puede eliminar un gráfico existente obteniéndolo a través de la propiedad Charts de la hoja de trabajo y luego usando el método RemoveChart para eliminarlo.

¿Cuáles son los beneficios de usar IronXL para la creación de gráficos en aplicaciones .NET?

IronXL permite una creación y edición eficiente de gráficos en aplicaciones .NET sin depender de Excel Interop, lo que mejora el rendimiento y reduce la complejidad. Soporta varios tipos de gráficos y proporciona métodos para una fácil personalización.

¿Cómo puedo trazar un gráfico en C# después de agregar series de datos?

Después de agregar series de datos usando el método AddSeries, puede trazar el gráfico llamando al método Plot, que genera el gráfico utilizando los datos proporcionados.

¿Es posible editar las propiedades de un gráfico en C# después de que ha sido creado?

Sí, puede editar las propiedades de un gráfico en C# accediendo a él a través de la propiedad Charts de la hoja de trabajo y modificando atributos como el título del gráfico, la posición de la leyenda y más.

Chaknith Bin
Ingeniero de Software
Chaknith trabaja en IronXL e IronBarcode. Tiene un profundo conocimiento en C# y .NET, ayudando a mejorar el software y apoyar a los clientes. Sus conocimientos derivados de las interacciones con los usuarios contribuyen a mejores productos, documentación y experiencia en general.
¿Listo para empezar?
Nuget Descargas 1,738,553 | Version: 2025.11 recién lanzado