USO DE IRONXL

Trabajar con Excel en .NET Core

Actualizado 5 de octubre, 2020
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 o instalar 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ón Hoja 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"); //cargar archivo Excel 
    WorkSheet ws = wb.GetWorkSheet("Sheet1"); //Obtener hoja1 de muestra.xlsx
    ws ["A1"].Value = "new value"; //acceder a la celda A1 y editar el valor
    wb.SaveAs("sample.xlsx");   //guardar cambios        
} 
/**
Load WorkSheet
anchor-load-a-sample-file
**/
using IronXL;
static void Main(string [] args)
{          
    WorkBook wb = WorkBook.Load("sample.xlsx"); //cargar archivo Excel 
    WorkSheet ws = wb.GetWorkSheet("Sheet1"); //Obtener hoja1 de muestra.xlsx
    ws ["A1"].Value = "new value"; //acceder a la celda A1 y editar el valor
    wb.SaveAs("sample.xlsx");   //guardar cambios        
} 
'''
'''Load WorkSheet
'''anchor-load-a-sample-file
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'cargar archivo Excel
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'Obtener hoja1 de muestra.xlsx
	ws ("A1").Value = "new value" 'acceder a la celda A1 y editar el valor
	wb.SaveAs("sample.xlsx") 'guardar cambios
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++) //Establece el rango de celdas de la columna A a editar.
    {
        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++) //Establece el rango de celdas de la columna A a editar.
    {
        ws ["A" + i].Value = "Value"+i;
    }
    wb.SaveAs("sample.xlsx");  
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
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ómo Leer Archivos Excel C# con este tutorial.


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.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 897,936 Ver licencias >
123