USO DE IRONXL

Trabajar con Excel en .NET Core

Actualizado 19 de diciembre, 2023
Compartir:

Visión general de .NET Core Excel

En esta era moderna, necesitamos una forma mejor de trabajar con Hojas de Cálculo Excel en nuestras aplicaciones .NET Core. En el siguiente tutorial, aprenderemos cómo acceder a hojas de cálculo en proyectos Excel .NET Core y modificar sus valores utilizando C#.


Primer paso

1. Descargar la biblioteca IronXL

Para trabajar fácilmente con archivos Excel en .NET Core, prueba IronXL. Descargar IronXL DLL oinstalar con NuGet para su uso gratuito en proyectos de desarrollo.

Install-Package IronXL.Excel

Tutorial

2. Proyecto de edición de Excel .NET Core

Ahora que ya has descargado IronXL, empecemos. Cargue un archivo Excel en el proyecto y acceda a la funciónHoja de trabajo en los que hay que editar datos e introducir cambios.


3. Editar valor de celda específico

Para editar archivos Excel, añade la referencia IronXL a tu proyecto e importa la librería usando IronXL.

3.1. Cargar un archivo de ejemplo

En el siguiente caso, el nombre de nuestro fichero Excel es sample.xlsx y existe en la carpeta bin> Debug> netcoreapp3.1 del proyecto. Usaremos este código para editar el valor nuevo valor en la celda A1 de muestra.xlsx.

/**
Load WorkSheet
anchor-load-a-sample-file
**/
using IronXL;
static void Main(string [] args)
{          
    WorkBook wb = WorkBook.Load("sample.xlsx"); //load Excel file 
    WorkSheet ws = wb.GetWorkSheet("Sheet1"); //Get sheet1 of sample.xlsx
    ws ["A1"].Value = "new value"; //access A1 cell and edit the value
    wb.SaveAs("sample.xlsx");   //save changes        
} 
/**
Load WorkSheet
anchor-load-a-sample-file
**/
using IronXL;
static void Main(string [] args)
{          
    WorkBook wb = WorkBook.Load("sample.xlsx"); //load Excel file 
    WorkSheet ws = wb.GetWorkSheet("Sheet1"); //Get sheet1 of sample.xlsx
    ws ["A1"].Value = "new value"; //access A1 cell and edit the value
    wb.SaveAs("sample.xlsx");   //save changes        
} 
'''
'''Load WorkSheet
'''anchor-load-a-sample-file
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'load Excel file
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'Get sheet1 of sample.xlsx
	ws ("A1").Value = "new value" 'access A1 cell and edit the value
	wb.SaveAs("sample.xlsx") 'save changes
End Sub
VB   C#

4. Asignar valor a varias celdas

Es muy fácil editar varias celdas y asignar valores estáticos a la vez utilizando(dos puntos :). Su lado izquierdo indica la celda inicial y su lado derecho indica la última celda de una columna específica.

hoja[De:A]

Esto editará el nuevo valor de la celda A1 a A9 de la columna A.

/**
Assign Value Multi Cells
anchor-assign-value-to-multiple-cells
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    ws ["A1:A9"].Value = "new value";
    wb.SaveAs("sample.xlsx");
}
/**
Assign Value Multi Cells
anchor-assign-value-to-multiple-cells
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    ws ["A1:A9"].Value = "new value";
    wb.SaveAs("sample.xlsx");
}
'''
'''Assign Value Multi Cells
'''anchor-assign-value-to-multiple-cells
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
	ws ("A1:A9").Value = "new value"
	wb.SaveAs("sample.xlsx")
End Sub
VB   C#

5. Editar celdas con entradas de usuario

He aquí un caso alternativo en el que podemos tomar los valores de los usuarios y editar el fichero Excel.

/**
Edit Cells User Input
anchor-edit-cells-with-user-inputs
**/
using IronXL;
static void Main(string [] args)
{
    string _from, _to, newValue ;

    Console.Write("Enter Starting Cell :");
    _from = Console.ReadLine();

    Console.Write("Enter Last Cell :");
    _to = Console.ReadLine();

    Console.Write("Enter value:");
    newValue = Console.ReadLine();

    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    ws [_from + ":" + _to].Value = newValue;
    wb.SaveAs("sample.xlsx"); 
    Console.WriteLine("Successfully Changed...!");
    Console.ReadKey();
}
/**
Edit Cells User Input
anchor-edit-cells-with-user-inputs
**/
using IronXL;
static void Main(string [] args)
{
    string _from, _to, newValue ;

    Console.Write("Enter Starting Cell :");
    _from = Console.ReadLine();

    Console.Write("Enter Last Cell :");
    _to = Console.ReadLine();

    Console.Write("Enter value:");
    newValue = Console.ReadLine();

    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    ws [_from + ":" + _to].Value = newValue;
    wb.SaveAs("sample.xlsx"); 
    Console.WriteLine("Successfully Changed...!");
    Console.ReadKey();
}
'''
'''Edit Cells User Input
'''anchor-edit-cells-with-user-inputs
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim _from, _to, newValue As String

	Console.Write("Enter Starting Cell :")
	_from = Console.ReadLine()

	Console.Write("Enter Last Cell :")
	_to = Console.ReadLine()

	Console.Write("Enter value:")
	newValue = Console.ReadLine()

	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
	ws (_from & ":" & _to).Value = newValue
	wb.SaveAs("sample.xlsx")
	Console.WriteLine("Successfully Changed...!")
	Console.ReadKey()
End Sub
VB   C#

El código anterior mostrará la siguiente salida y tomará las entradas del usuario:

Trabajar con Excel en .NET Core, Figura 1: Interfaz de usuario de la aplicación de consola con entrada de usuario

**Interfaz de usuario de aplicación de consola con entrada de usuario.

Valores cambiados de B4 a B9 en ExcelSheet, podemos ver:

Trabajar con Excel en .NET Core, Figura 2: El nuevo valor se rellena de B4 a B9

El nuevo valor se rellena de B4 a B9


6. Editar múltiples celdas con valor estático

Es muy fácil editar varias celdas y asignar valores dinámicos. Veamos el siguiente ejemplo:

/**
Edit Multi Cells Static Value
anchor-edit-multiple-cells-with-static-value
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    for (int i = From; i <= To; i++) //Set cell range of column A to be edit.
    {
        ws ["A" + i].Value = "Value"+i;
    }
    wb.SaveAs("sample.xlsx");  
}
/**
Edit Multi Cells Static Value
anchor-edit-multiple-cells-with-static-value
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    for (int i = From; i <= To; i++) //Set cell range of column A to be edit.
    {
        ws ["A" + i].Value = "Value"+i;
    }
    wb.SaveAs("sample.xlsx");  
}
'''
'''Edit Multi Cells Static Value
'''anchor-edit-multiple-cells-with-static-value
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
	For i As Integer = From To [To] 'Set cell range of column A to be edit.
		ws ("A" & i).Value = "Value" & i
	Next i
	wb.SaveAs("sample.xlsx")
End Sub
VB   C#

7. Leer archivos Excel Tutorial en profundidad

Sumérgete con más detalles y múltiples proyectos y ejemplos de código si quieres aprender más sobre cómoLeer Archivos Excel C# con este tutorial.


Acceso rápido a tutoriales

Documentation related to Acceso rápido a tutoriales

Investigar la referencia API

Se proporciona documentación para IronXL, con todos los espacios de nombres, conjuntos de características, campos de métodos, clases y enums.

Referencia API

< ANTERIOR
Generar archivos Excel en C#

¿Listo para empezar? Versión: 2024.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 1,136,001 Ver licencias >