Saltar al pie de página
USANDO IRONXL

Trabajar con Excel en .NET Core

Descripción general de Excel de .NET Core

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

Edición de Excel .NET Core

  • Descargar la biblioteca IronXL
  • Asignar valores a un rango de celdas
  • Editar celdas usando entradas de usuario
  • Editar varias celdas usando un valor estático
How To Work related to Descripción general de Excel de .NET Core

Paso 1

1. Descargar la biblioteca IronXL

Para una forma fácil de trabajar con archivos de Excel en .NET Core, prueba IronXL. Descargar DLL de IronXL o instalar con NuGet para uso gratuito en proyectos de desarrollo.

# Install IronXL using the .NET CLI
dotnet add package IronXL.Excel
# Install IronXL using the .NET CLI
dotnet add package IronXL.Excel
SHELL

Tutorial de cómo hacerlo

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

Ahora que has descargado IronXL, comencemos. Carga un archivo de Excel en el proyecto y accede al WorkSheet donde los datos necesitan ser editados y se deben hacer cambios.


3. Editar valor de celda específico

Para editar archivos de Excel, agrega la referencia IronXL a tu proyecto e importa la biblioteca con using IronXL.

3.1. Cargar un archivo de muestra

En el siguiente caso, nuestro archivo de Excel se llama sample.xlsx y existe en la carpeta bin> Debug> netcoreapp3.1 del proyecto. Usaremos este código para editar el valor new value en la celda A1 de sample.xlsx.

// Anchor: Load a sample file
using IronXL;

static void Main(string[] args)
{
    // Load the Excel workbook
    WorkBook wb = WorkBook.Load("sample.xlsx");

    // Get the first worksheet named "Sheet1"
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Access cell A1 and set its value to "new value"
    ws["A1"].Value = "new value";

    // Save the changes to the Excel workbook
    wb.SaveAs("sample.xlsx");
}
// Anchor: Load a sample file
using IronXL;

static void Main(string[] args)
{
    // Load the Excel workbook
    WorkBook wb = WorkBook.Load("sample.xlsx");

    // Get the first worksheet named "Sheet1"
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Access cell A1 and set its value to "new value"
    ws["A1"].Value = "new value";

    // Save the changes to the Excel workbook
    wb.SaveAs("sample.xlsx");
}
' Anchor: Load a sample file
Imports IronXL

Shared Sub Main(ByVal args() As String)
	' Load the Excel workbook
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")

	' Get the first worksheet named "Sheet1"
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

	' Access cell A1 and set its value to "new value"
	ws("A1").Value = "new value"

	' Save the changes to the Excel workbook
	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

4. Asignar valor a varias celdas

Es muy fácil editar múltiples celdas y asignar valores estáticos al mismo tiempo usando dos puntos :. Su lado izquierdo indica la celda de inicio y el lado derecho indica la última celda de una columna específica.

sheet[From:To]

Esto editará new value desde la celda A1 hasta A9 de la columna A.

// Anchor: Assign Value to Multiple Cells
using IronXL;

static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Set the value "new value" for cells from A1 to A9
    ws["A1:A9"].Value = "new value";

    wb.SaveAs("sample.xlsx");
}
// Anchor: Assign Value to Multiple Cells
using IronXL;

static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Set the value "new value" for cells from A1 to A9
    ws["A1:A9"].Value = "new value";

    wb.SaveAs("sample.xlsx");
}
' 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")

	' Set the value "new value" for cells from A1 to A9
	ws("A1:A9").Value = "new value"

	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

5. Editar celdas con entradas de usuario

Aquí hay un caso alternativo donde podemos tomar los valores de los usuarios y editar el archivo de Excel.

// Anchor: Edit Cells with User Inputs
using System;
using IronXL;

static void Main(string[] args)
{
    string _from, _to, newValue;

    // Capture user inputs
    Console.Write("Enter Starting Cell: ");
    _from = Console.ReadLine();

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

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

    // Load the Excel workbook and access the worksheet
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Assign the user-entered value to the specified cell range
    ws[_from + ":" + _to].Value = newValue;

    // Save changes to the workbook
    wb.SaveAs("sample.xlsx");

    Console.WriteLine("Successfully Changed...!");
    Console.ReadKey();
}
// Anchor: Edit Cells with User Inputs
using System;
using IronXL;

static void Main(string[] args)
{
    string _from, _to, newValue;

    // Capture user inputs
    Console.Write("Enter Starting Cell: ");
    _from = Console.ReadLine();

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

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

    // Load the Excel workbook and access the worksheet
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Assign the user-entered value to the specified cell range
    ws[_from + ":" + _to].Value = newValue;

    // Save changes to the workbook
    wb.SaveAs("sample.xlsx");

    Console.WriteLine("Successfully Changed...!");
    Console.ReadKey();
}
' Anchor: Edit Cells with User Inputs
Imports System
Imports IronXL

Shared Sub Main(ByVal args() As String)
	Dim _from, _to, newValue As String

	' Capture user inputs
	Console.Write("Enter Starting Cell: ")
	_from = Console.ReadLine()

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

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

	' Load the Excel workbook and access the worksheet
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

	' Assign the user-entered value to the specified cell range
	ws(_from & ":" & _to).Value = newValue

	' Save changes to the workbook
	wb.SaveAs("sample.xlsx")

	Console.WriteLine("Successfully Changed...!")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

El código anterior mostrará una consola para entradas de usuario y luego actualizará las celdas especificadas de Excel con el valor ingresado.

Trabajar con Excel en .NET Core, Figura 1: Interfaz de Consola de Aplicación con entrada de usuario Interfaz de Consola de Aplicación con entrada de usuario

Valores cambiados de B4 a B9 en ExcelSheet, como se puede ver:

Trabajar con Excel en .NET Core, Figura 2: El nuevo valor está rellenado de B4 a B9 El nuevo valor está rellenado de B4 a B9


6. Editar varias celdas con valor estático

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

// 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");

    // Ensure 'from' and 'to' are defined for the intended cell range
    int from = 1;
    int to = 9;

    // Iterate over a range of cells and update them with dynamic values
    for (int i = from; i <= to; i++)
    {
        ws["A" + i].Value = "Value" + i;
    }

    // Save the changes to the Excel file
    wb.SaveAs("sample.xlsx");
}
// 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");

    // Ensure 'from' and 'to' are defined for the intended cell range
    int from = 1;
    int to = 9;

    // Iterate over a range of cells and update them with dynamic values
    for (int i = from; i <= to; i++)
    {
        ws["A" + i].Value = "Value" + i;
    }

    // Save the changes to the Excel file
    wb.SaveAs("sample.xlsx");
}
' 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")

	' Ensure 'from' and 'to' are defined for the intended cell range
	Dim from As Integer = 1
	Dim [to] As Integer = 9

	' Iterate over a range of cells and update them with dynamic values
	For i As Integer = From To [to]
		ws("A" & i).Value = "Value" & i
	Next i

	' Save the changes to the Excel file
	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

7. Tutorial detallado sobre cómo leer archivos de Excel

Profundiza con más detalles y múltiples proyectos y ejemplos de código si deseas aprender más sobre cómo leer archivos de Excel C# con este tutorial.


Tutorial de acceso rápido

Documentation related to Tutorial de acceso rápido

Investigar la referencia de la API

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

Referencia API

Preguntas Frecuentes

¿Cuál es el propósito de usar Excel en aplicaciones .NET Core?

Excel se utiliza en aplicaciones .NET Core para una gestión y manipulación de datos eficiente. IronXL permite a los desarrolladores cargar, editar y guardar archivos de Excel programáticamente usando C#, mejorando la productividad y las capacidades de manejo de datos.

¿Cómo puedo instalar la biblioteca de Excel en un proyecto .NET Core?

Puedes instalar la biblioteca IronXL en un proyecto .NET Core utilizando el Administrador de Paquetes NuGet con el comando: dotnet add package IronXL.Excel. Alternativamente, puedes descargar el archivo DLL directamente desde el sitio web de IronXL.

¿Cuáles son los pasos para cargar un archivo Excel en .NET Core?

Para cargar un archivo de Excel en .NET Core usando IronXL, utiliza el método WorkBook.Load. Por ejemplo, WorkBook wb = WorkBook.Load("sample.xlsx"); cargará el libro de Excel llamado 'sample.xlsx'.

¿Puedo editar un rango de celdas en una hoja de Excel usando .NET Core?

Sí, con IronXL, puedes editar un rango de celdas en una hoja de Excel simultáneamente. Usa la sintaxis ws["A1:A9"].Value = "nuevo valor"; para asignar un valor a múltiples celdas, donde ws es un objeto WorkSheet.

¿Cómo manejo las entradas de usuario al editar archivos de Excel en .NET Core?

IronXL permite manejar entradas del usuario capturándolas a través de la consola o una interfaz de usuario, las cuales pueden usarse para definir el rango de celdas y el valor para actualizaciones en la hoja de cálculo Excel.

¿Qué lenguaje de programación se utiliza para la manipulación de Excel en .NET Core?

C# se utiliza para manipular archivos Excel programáticamente en aplicaciones .NET Core usando la biblioteca IronXL.

¿Existe un tutorial para trabajar con archivos de Excel en .NET Core?

Sí, hay tutoriales completos sobre lectura y manipulación de archivos Excel usando C# con IronXL disponibles. Recursos adicionales y proyectos de ejemplo se pueden encontrar en el sitio web de IronXL.

¿Cuáles son los requisitos de compatibilidad para usar la biblioteca de Excel en .NET Core?

IronXL es compatible con varias versiones de .NET Core. Información detallada de compatibilidad se encuentra en la documentación de IronXL en su sitio web.

¿Dónde puedo acceder a la documentación de la API para la biblioteca de Excel?

La documentación de la API para IronXL está disponible en línea, proporcionando detalles sobre todos los espacios de nombres, métodos y características. Visite el sitio web de IronXL para acceder a este recurso.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más