Cómo crear y leer archivos de Excel en VB.NET

Lectura y creación de archivos de Excel en VB .NET (Tutorial de ejemplo de código)

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

Los desarrolladores necesitan un enfoque suave y simple para acceder a archivos de Excel en VB .NET. En este tutorial, usaremos IronXL para leer archivos de Excel en VB.NET y acceder a todos los datos para el uso de nuestro proyecto. Aprenderemos a crear hojas de cálculo en todos los formatos (.xls, .xlsx, .csv y .tsv), así como a configurar estilos de celda e insertar datos utilizando la programación VB .NET Excel.


Paso 1

1. Biblioteca de Excel para VB.NET

Obtenga la Biblioteca Excel de IronXL para VB.NET utilizando Descarga de DLL o NuGet. IronXL es nuestro Paso 1 para acceder rápidamente a los datos de Excel en nuestros proyectos VB.NET, y es lo que usaremos para este tutorial (gratis para desarrollo).

Install-Package IronXL.Excel

Tutorial de cómo hacerlo

2. Crear archivos de Excel en VB.NET

IronXL proporciona el enfoque más simple para crear un archivo Excel (formato (.xlsx) en un proyecto VB .NET . Después de esto, podemos insertar datos y también configurar propiedades de celda como estilos de fuente o bordes.

2.1. Crear un archivo de Excel

Primero crearemos un Libro de Trabajo:

' Create a new Excel workbook with the default format (.xlsx)
Dim wb As New WorkBook

El código anterior sirve para crear un nuevo archivo de Excel. Por defecto, su extensión es .xlsx.

2.2. Crear archivo XLS

En el caso de que desees crear un archivo con la extensión .xls, puedes utilizar este código:

' Create a new Excel workbook with .xls format
Dim wb As New WorkBook(ExcelFileFormat.XLS)

2.3. Crear hoja de trabajo

Después de crear el Libro de Trabajo, se puede crear una Hoja de Trabajo de Excel de la siguiente manera:

' Create a new worksheet named "Sheet1" in the workbook
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")

El código anterior creará una nueva WorkSheet ws1 con el nombre Sheet1 en WorkBook wb.

2.4. Crear varias hojas de trabajo

Cualquier número de Hojas de Trabajo se pueden crear de la misma manera:

' Create additional worksheets
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")

3. Insertar datos en la hoja de cálculo

3.1. Insertar datos en celdas

  1. Establecer la hoja de trabajo predeterminada.
' Insert a value into a specific cell
worksheet("CellAddress").Value = "MyValue"

Por ejemplo, los datos en la hoja de cálculo ws1 se pueden insertar como:

' Insert "Hello World" into cell A1 of the worksheet
ws1("A1").Value = "Hello World"

El código anterior escribirá Hello World en la celda A1 de la hoja de trabajo ws1.

3.2. Insertar datos en el rango

También es posible escribir datos en muchas celdas usando la función de rango de la siguiente manera:

' Insert "NewValue" into the range from cell A3 to A8
ws1("A3:A8").Value = "NewValue"

3.3. Ejemplo de creación y edición de hojas de trabajo

Crearemos un nuevo archivo Excel Sample.xlsx e insertaremos algunos datos en él para mostrar el código que aprendimos anteriormente.

' Import IronXL namespace for Excel operations
Imports IronXL

' Main subroutine to create and edit Excel
Sub Main()
    ' Create a new workbook in XLSX format
    Dim wb As New WorkBook(ExcelFileFormat.XLSX)
    ' Create a worksheet named "Sheet1"
    Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
    ' Insert data into cells
    ws1("A1").Value = "Hello"
    ws1("A2").Value = "World"
    ' Insert a range of values
    ws1("B1:B8").Value = "RangeValue"
    ' Save the workbook as "Sample.xlsx"
    wb.SaveAs("Sample.xlsx")
End Sub

Nota: De forma predeterminada, el nuevo archivo Excel se creará en la carpeta bin\Debug del proyecto. Si deseamos crear un nuevo archivo en una ruta personalizada, use:

wb.SaveAs(@"E:\IronXL\Sample.xlsx")

Aquí está la captura de pantalla de nuestro archivo Excel recién creado Sample.xlsx:

Doc5 1 related to 3.3. Ejemplo de creación y edición de hojas de trabajo

Está claro lo sencillo que puede ser crear archivos Excel usando IronXL en una aplicación VB .NET .


4. Leer archivo de Excel en VB.NET

IronXL también proporciona un enfoque simple para leer archivos Excel (.xlsx) en su proyecto VB .NET . Para este propósito, simplemente obtenga el documento Excel, cárguelo en su proyecto, lea sus datos y úselos según sus requisitos.

Siga estos pasos:

4.1. Acceder a un archivo de Excel en el proyecto

WorkBook es la clase de IronXL cuyo objeto proporciona acceso completo al archivo Excel y sus funciones. Por ejemplo, si deseamos acceder al archivo de Excel, simplemente usamos:

' Load the Excel file "sample.xlsx" into a workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'Excel file path

En el código anterior, la función WorkBook.Load() carga sample.xlsx en wb. Se puede realizar cualquier tipo de función en wb accediendo a hojas de trabajo específicas del archivo Excel.

4.2. Acceder a una hoja de trabajo específica

Para acceder a una hoja específica en Excel, tome la clase WorkSheet, que se puede utilizar de las siguientes maneras diferentes:

Por nombre de hoja

' Access worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'by sheet name

Por índice de hojas

' Access worksheet by index
Dim ws As WorkSheet = wb.WorkSheets(0) 'by sheet index

Hoja predeterminada

' Access the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet() 'for the default sheet

Primera hoja

' Access the first worksheet in the workbook
Dim sheet As WorkSheet = wb.WorkSheets.FirstOrDefault() 'for the first sheet

Después de obtener la hoja de Excel ws, puede obtener cualquier tipo de datos de la hoja de trabajo correspondiente del archivo Excel y realizar todas las funciones de Excel.


5. Acceder a los datos desde la hoja de cálculo

Se puede acceder a los datos de la hoja de Excel ws de esta manera:

' Retrieve values from specific cells
Dim int_Value As Integer = ws("A2").IntValue 'for integer
Dim str_value As String = ws("A2").ToString() 'for string

5.1. Datos de una columna específica

También es posible obtener datos de muchas celdas de una columna específica de la siguiente manera:

' Loop through cells in a specific range and print their values
For Each cell In ws("A2:A10")
    Console.WriteLine("value is: {0}", cell.Text)
Next cell

Mostrará valores de las celdas A2 a A10. A continuación se presenta un ejemplo de código de la discusión anterior.

' Example: Load and display values from a column
Imports IronXL

Sub Main()
    ' Load the workbook from file
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    ' Get the first worksheet
    Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
    ' Loop through cells in range A2:A10
    For Each cell In ws("A2:A10")
        Console.WriteLine("value is: {0}", cell.Text)
    Next
    Console.ReadKey()
End Sub

Esto mostrará el siguiente resultado:

Doc3 Input1 related to 5.1. Datos de una columna específica

Y podemos ver una captura de pantalla del archivo Excel Sample.xlsx:

Doc3 1 related to 5.1. Datos de una columna específica

6. Realizar funciones sobre los datos

Es simple acceder a datos filtrados desde una Hoja de Trabajo de Excel aplicando funciones agregadas como Suma, Mínimo o Máximo de la siguiente manera:

' Aggregate functions on a range of data
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()

Puede leer más sobre funciones agregadas de Excel aquí.

' Example: Apply functions to data
Imports IronXL

Sub Main()
    ' Load the workbook
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    ' Get the first worksheet
    Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()

    ' Perform aggregate calculations
    Dim sum As Decimal = ws("G2:G10").Sum()
    Dim min As Decimal = ws("G2:G10").Min()
    Dim max As Decimal = ws("G2:G10").Max()

    ' Print the results
    Console.WriteLine("Sum is: {0}", sum)
    Console.WriteLine("Min is: {0}", min)
    Console.WriteLine("Max is: {0}", max)
    Console.ReadKey()
End Sub

Este código nos dará esta visualización:

Doc3 Output2 related to 6. Realizar funciones sobre los datos

Y este archivo Excel Sample.xlsx:

Doc3 2 related to 6. Realizar funciones sobre los datos

Puede aprender más sobre cómo leer Excel en el artículo vinculado.


Tutorial de acceso rápido

### Referencia de la API de documentación

Acceda a la documentación de referencia de la API de IronXL y a las formas sencillas de trabajar con Excel en su proyecto VB.NET. Encuentre listas de características, funciones, clases y más.

Referencia de la API de documentación
Documentation related to Tutorial de acceso rápido

Preguntas Frecuentes

¿Cómo puedo leer archivos Excel en VB.NET sin usar Interop?

Para leer archivos Excel en VB.NET sin usar Interop, puede usar el método WorkBook.Load de IronXL para cargar el archivo. Una vez cargado, puede acceder a los datos de hojas de trabajo específicas usando la clase WorkSheet.

¿Cuáles son los pasos para crear un archivo Excel en VB.NET?

En VB.NET, para crear un archivo Excel usando IronXL, comience instanciando un nuevo objeto WorkBook. Use el método CreateWorkSheet para agregar hojas y pobalarlas con datos estableciendo los valores de las celdas.

¿Es posible trabajar con diferentes formatos de archivo de Excel en VB.NET?

Sí, al trabajar con IronXL en VB.NET, puede crear y manipular archivos Excel en formatos como .xls, .xlsx, .csv y .tsv.

¿Cómo puedo realizar cálculos en datos de Excel en VB.NET?

IronXL le permite realizar cálculos como Sumar, Min y Max directamente en rangos de celdas. Por ejemplo, use ws('A1:A10').Sum() para calcular la suma de valores en ese rango.

¿Puedo insertar datos en celdas específicas de una hoja de trabajo de Excel usando VB.NET?

Sí, usando IronXL en VB.NET, puede insertar datos en celdas específicas estableciendo la propiedad Value de una celda, como ws1('A1').Value = 'Hello World'.

¿Cómo guardo un libro de Excel en una ruta específica en VB.NET?

Para guardar un libro de Excel en una ruta específica usando IronXL, use el método SaveAs con la ruta de archivo deseada, por ejemplo, wb.SaveAs('E:\IronXL\Sample.xlsx').

¿Cómo puedo descargar la biblioteca de Excel para desarrollo en VB.NET?

Puede descargar la biblioteca Excel de IronXL para VB.NET ejecutando el comando dotnet add package IronXL.Excel a través de NuGet o descargando el DLL desde el sitio web de IronXL.

¿Puedo crear múltiples hojas de trabajo en un solo archivo Excel usando VB.NET?

Sí, usando IronXL en VB.NET, puede crear múltiples hojas de trabajo dentro de un solo archivo Excel invocando el método CreateWorkSheet varias veces en un objeto WorkBook.

¿Cómo accedo a una hoja de trabajo específica por nombre o índice en un archivo Excel usando VB.NET?

Con IronXL en VB.NET, puede acceder a una hoja de trabajo por nombre usando wb.GetWorkSheet('SheetName') o por índice con wb.WorkSheets(index).

¿Dónde se guardan por defecto los archivos Excel cuando se crean utilizando IronXL en VB.NET?

Por defecto, los archivos Excel creados con IronXL en VB.NET se guardan en la carpeta 'bin\Debug' del proyecto a menos que se especifique una ruta diferente usando el método SaveAs.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 1,913,565 | Versión: 2026.3 recién lanzado
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronXL.Excel
ejecuta una muestra observa cómo tus datos se convierten en una hoja de cálculo.