Leer Archivos Excel y Crear Hojas de Cálculo en VB .NET con IronXL (Tutorial)
Los desarrolladores necesitan un enfoque simple para leer archivos Excel y crear hojas de cálculo en VB .NET. En este tutorial, usaremos IronXL para leer archivos de Excel en VB.NET, acceder a todos los datos y modificar Excel en C# 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.
Cómo leer un archivo de Excel en VB.NET
- Descargar la biblioteca C# de Excel para VB.NET
- Crear archivos Excel en VB.NET
- Insertar datos en una hoja de trabajo
- Leer archivo de Excel en VB.NET
- Acceder a los datos desde la hoja de cálculo
- Realizar funciones sobre los datos
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
- 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:
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:
Y podemos ver una captura de pantalla del archivo Excel Sample.xlsx:
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:
Y este archivo Excel Sample.xlsx:
Puede aprender más sobre cómo leer Excel en el artículo vinculado.
Tutorial de acceso rápido
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ónPreguntas 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.






