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

IronXL permite a los desarrolladores de C# crear, editar y eliminar gráficos de Excel mediante programación utilizando sencillas llamadas a la API. Puede generar gráficos de columnas, líneas, circulares y de otros tipos directamente a partir de sus datos sin dependencias de Excel Interop.

En Excel, un gráfico es una representación gráfica de datos que se utiliza para mostrar y analizar información visualmente. Excel ofrece varios tipos de gráficos, como gráficos de barras, de líneas y circulares, cada uno de ellos adecuado para diferentes necesidades de datos y análisis. When working with IronXL's comprehensive Excel library, you can programmatically create these visualizations to enhance your reports and dashboards.

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

Con IronXL, puede instalar, cargar un libro de trabajo, llamar a CreateChart, añadir sus series de datos, establecer su título y la posición de la leyenda, y Plot-todo en sólo unas pocas líneas. Este ejemplo muestra cómo crear un gráfico utilizando métodos nativos de C# sin sobrecarga 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.

    // 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. 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


¿Cómo crear gráficos en Excel?

IronXL admite gráficos de columnas, de dispersión, de líneas, de sectores, de barras y de áreas. Para crear un gráfico, especifique los siguientes componentes. This flexibility allows you to create Excel spreadsheets with rich visualizations tailored to your data presentation needs.

  1. Utilice CreateChart para especificar el tipo de gráfico y la ubicación de la hoja de cálculo.
  2. Añada series con AddSeries. Este método acepta una sola columna para algunos tipos de gráficos. El primer parámetro son los valores del eje horizontal. El segundo son los valores del eje vertical.
  3. Si lo desea, puede especificar el nombre de la serie, el nombre del gráfico y la posición de la leyenda.
  4. Llame a Plot para representar el gráfico. Varias llamadas crean varios gráficos.

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

Hoja de cálculo con datos de gráficos de muestra que muestran los recuentos mensuales de animales para jirafas, elefantes y rinocerontes de enero a junio

¿Cuál es el proceso para crear gráficos de columnas?

Los gráficos de columnas son ideales para comparar valores entre categorías. When you load spreadsheet data, you can visualize it effectively using column charts to highlight differences between data points. El siguiente ejemplo muestra la creación de un gráfico de columnas multiserie con datos de población 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
Hoja de cálculo de Excel que muestra una tabla de datos de animales y el correspondiente gráfico de columnas agrupadas con los recuentos mensuales de jirafas, elefantes y rinocerontes

¿Cómo crear gráficos de líneas?

Los gráficos de líneas son excelentes para mostrar tendencias a lo largo del tiempo. Dado que los gráficos de líneas muestran la misma información que los de columnas, para pasar de uno a otro basta con cambiar el tipo de gráfico. Esto hace que los gráficos de líneas resulten especialmente útiles cuando se leen archivos XLSX que contienen datos de series temporales:

: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
Hoja de cálculo de Excel que muestra una tabla de datos de animales y el gráfico lineal correspondiente con tres líneas de tendencia para jirafas, elefantes y rinocerontes

¿Cuándo utilizar gráficos circulares?

Los gráficos circulares muestran proporciones y porcentajes de un todo. En el caso de los gráficos circulares, solo se necesita una columna de datos, lo que simplifica su implementación. They're effective when you want to convert spreadsheet data into visual representations of market share, budget allocation, or category distribution:

: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
Hoja de cálculo con datos de vida salvaje y gráfico circular que muestra la distribución mensual de jirafas, abril destacado con 89 jirafas (21%)

¿Cómo edito los gráficos existentes?

Al trabajar con archivos Excel existentes, es posible que tenga que modificar gráficos ya creados. IronXL ofrece métodos sencillos para editar los gráficos existentes, lo que permite actualizar los títulos, reposicionar las leyendas y actualizar los datos. This is useful when editing Excel files that contain pre-existing visualizations.

Puede editar la posición de la leyenda y el título del gráfico en los gráficos existentes. Para editar un gráfico, primero recupérelo accediendo a la propiedad Charts y seleccionando el gráfico en cuestión. A continuación, acceda a las propiedades del gráfico para realizar sus 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
Pie chart showing monthly data from Jan-Jun with color-coded segments and legend below
Pie chart showing monthly data distribution from January to June with color-coded segments and legend

¿Cómo eliminar gráficos de Excel?

A veces es necesario limpiar archivos de Excel eliminando gráficos obsoletos o innecesarios. This is common when managing worksheets containing multiple visualizations. Para eliminar un gráfico existente de una hoja de cálculo, primero recupere el gráfico de la propiedad Charts. Recibirás una lista de gráficos. Pase el objeto de gráfico de destino a 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

Personalización avanzada de gráficos

Más allá de la creación básica de gráficos, IronXL admite opciones avanzadas de personalización. When creating complex reports or dashboards, you can combine charts with other Excel features like conditional formatting to create comprehensive data visualizations.

En el caso de las aplicaciones empresariales, los gráficos suelen necesitar una generación dinámica a partir de consultas a bases de datos o fuentes de datos en tiempo real. IronXL se integra perfectamente con las estructuras de datos .NET, lo que le permite crear gráficos a partir de Tablas de datos, Listas o cualquier colección enumerable. Esto lo hace ideal para generar informes automatizados que incluyan elementos visuales.

Resumen

IronXL proporciona una solución completa para trabajar con gráficos de Excel en aplicaciones C#. Ya sea para crear nuevas visualizaciones, modificar las existentes o eliminar gráficos obsoletos, la biblioteca ofrece métodos intuitivos que no requieren Excel Interop. Al combinar la funcionalidad de gráficos con otras características de IronXL, como la manipulación y el formato de datos, puede crear sofisticadas soluciones de automatización de Excel que mejoran la presentación y el análisis de datos en sus aplicaciones .NET.

Preguntas Frecuentes

¿Cómo puedo crear gráficos de Excel mediante programación en C# sin utilizar Interop?

IronXL proporciona una API simple para crear gráficos de Excel en C# sin dependencias de Interop. Puede utilizar el método CreateChart para especificar el tipo de gráfico y la posición, AddSeries para agregar datos y Plot para representar el gráfico, todo a través de código nativo de C#.

¿Qué tipos de gráficos puedo crear en hojas de cálculo Excel utilizando C#?

IronXL admite la creación de varios tipos de gráficos, incluidos gráficos de columnas, de dispersión, de líneas, circulares, de barras y de áreas. Puede especificar el tipo de gráfico al llamar al método CreateChart y personalizar cada gráfico con títulos, leyendas y series de datos.

¿Cómo añado series de datos a un gráfico de Excel mediante programación?

Utilice el método AddSeries de IronXL para agregar datos a sus gráficos. Este método acepta rangos de celdas como parámetros - el primer parámetro para los valores del eje horizontal y el segundo para los valores del eje vertical. Puede agregar múltiples series para crear gráficos multiserie.

¿Cuál es la forma más rápida de crear un gráfico de líneas en Excel utilizando C#?

Con IronXL, puede crear un gráfico de líneas en sólo unas pocas líneas de código: utilice CreateChart(ChartType.Line) para inicializar el gráfico, AddSeries() para agregar sus rangos de datos, SetTitle() para el título del gráfico y Plot() para representarlo en la hoja de cálculo.

¿Puedo personalizar las propiedades de los gráficos, como el título y la posición de la leyenda?

Sí, IronXL permite la personalización completa de los gráficos de Excel. Puede utilizar SetTitle() para añadir títulos a los gráficos, SetLegendPosition() para colocar la leyenda (arriba, abajo, izquierda, derecha) y, opcionalmente, especificar los nombres de las series para una mejor identificación de los datos.

¿Necesito tener instalado Microsoft Excel para crear gráficos mediante programación?

No, IronXL funciona de forma independiente sin necesidad de instalar Microsoft Excel. Maneja internamente todas las operaciones con archivos de Excel y la creación de gráficos, por lo que es ideal para entornos de servidor y aplicaciones en las que no se puede instalar Excel.

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,765,830 | Versión: 2025.12 recién lanzado