Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Este artículo explorará la librería IronXL para demostrar cómo abrir un archivo Microsoft Excel y escribir datos en él en una Aplicación de Consola C#.
IronXL es una biblioteca .NET Excel que facilita la creación, lectura y edición de archivos Excel en aplicaciones C#. Ofrece un rendimiento excepcional y una salida precisa. La biblioteca admitetodos los formatos de archivo de libros de Excelincluyendo XLS, XLSX, XLSM, CSV y TSV. Además, permite guardar o exportar datos en formatos como JSON, HTML, Binary, Byte Array,DataSet o DataTable.
Con IronXL, los desarrolladores pueden trabajar con hojas de cálculo y rangos de celdas sin problemas. Ofrece la posibilidad de editar fórmulas y recalcularlas fácilmente dentro de una hoja. Clasificación de datos en función del rango, la columna o la fila es sencillo. La biblioteca ofrece funciones para modificar los diseños, comocristales de congelación, tamaño automático de filas/columnasyañadir/eliminar filas/columnas.
IronXL tambiénpermite la protección de archivos Excel con contraseñas de usuario y permisos de edición. Otra característica destacable es la posibilidad de añadir, eliminar y extraer imágenes de hojas de cálculo de Excel. La biblioteca ofrece una amplia gama de funciones de Excel, que admiten variasformatos de datos de celdas. Estas características hacen de IronXL una de las API más fáciles de usar para trabajar con archivos de Excel.
Una de las ventajas significativas de IronXL es que no requiere que Microsoft Excel esté instalado en la máquina, eliminando la necesidad de Office Interop o cualquier otra dependencia. Es compatible con múltiples plataformas y soporta .NET 7, 6 y 5. También es compatible con .NET Core 2 y 3, así como con .NET Framework 4.5 y versiones posteriores para trabajar con hojas de cálculo de Excel.
Se recomienda la última versión de Visual Studio IDE para crear la aplicación. Visual Studio es el IDE oficial para el desarrollo en C#, y se supone que ya lo tiene instalado. Si no ha instalado Visual Studio, puede descargarlo de la página oficial deSitio web de Microsoft Visual Studio.
Siga estos pasos para crear un nuevo proyecto llamado "DemoApp".
Abra Visual Studio y haga clic en Crear un nuevo proyecto
Nuevo proyecto
Seleccione Aplicación de consola y haga clic en Siguiente
Nuevo tipo de proyecto
Introduzca el nombre del proyecto
Nuevo nombre del proyecto
Seleccione la versión .NET. Elija la versión estable .NET 6.0.
Información adicional del nuevo proyecto
Una vez creado el proyecto, es necesario instalar la biblioteca IronXL en el proyecto para poder utilizarla. Sigue estos pasos para instalarlo.
Abra Gestionar paquetes NuGet para soluciones desde el Explorador de soluciones o desde Herramientas.
Gestor de paquetes NuGet
Busque la Biblioteca IronXL y seleccione el proyecto actual. Haz clic en instalar.
**Busca e instala el paquete IronXL en la interfaz de usuario del gestor de paquetes NuGet
Añade el siguiente namespace en la parte superior del archivo Program.cs
using IronXL;
using IronXL;
Imports IronXL
IronXL proporciona la facilidad para abrir un archivo de Excel existente, o puede crear un nuevo archivo de Excel. Este ejemplo va a abrir un archivo existente usando C# IronXL.
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Ahora, vamos a seleccionar su primera hoja de cálculo. Puede seleccionar una hoja de cálculo por número de índice o por nombre. La propiedad DefaultWorkSheet
puede ayudar a obtener la primera hoja.
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];
// Select worksheet by name
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];
// Select worksheet by name
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets (0)
' Select worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' Get any existing worksheet
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet
El código anterior obtiene la primera hoja del libro de Excel. Para crear un nuevo archivo Excel con datos, compruebe lo siguientepágina de ejemplo de código.
Ahora, escribamos los datos en el archivo de Excel utilizando la biblioteca de objetos IronXL.
Escribir datos en un archivo de Excel utilizando IronXL es muy fácil. Hay múltiples formas de archivarlo, pero el método más sencillo es utilizar la referencia de celda de Excel.
// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
' Access A1 cell and write the value
workSheet ("A1").Value = "Value using cell reference"
También es posible escribir datos en un rango de celdas. El siguiente código escribe datos de la celda B1 a la B5.
workSheet ["B1:B5"].Value = "Range value";
workSheet ["B1:B5"].Value = "Range value";
workSheet ("B1:B5").Value = "Range value"
También podemos rellenar el rango con un bucle for
haciéndolo dinámico. El código es el siguiente:
//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
//write the Dynamic value in one row
workSheet ["C" + i].Value = "Value: " + i;
//write the Dynamic value in another row
ws ["D" + i].Value = "Value: " + i;
}
//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
//write the Dynamic value in one row
workSheet ["C" + i].Value = "Value: " + i;
//write the Dynamic value in another row
ws ["D" + i].Value = "Value: " + i;
}
'specify range in which we want to write the values
For i As Integer = 1 To 5
'write the Dynamic value in one row
workSheet ("C" & i).Value = "Value: " & i
'write the Dynamic value in another row
ws ("D" & i).Value = "Value: " & i
Next i
Otra forma de escribir datos en un archivo de Excel es utilizando la funciónReemplazar
método.
workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workSheet ("D5").Replace("Value: 5", "Replaced Value")
En esta sección se explica cómo guardar el archivo Excel con el contenido recién escrito en él.
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.xlsx")
El código es el siguiente:
using System;
using IronXL;
static void Main(string [] args)
{
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];
// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
workSheet ["B1:B5"].Value = "Range value";
//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
//write the Dynamic value in one row
workSheet ["C" + i].Value = "Value: " + i;
//write the Dynamic value in another row
workSheet ["D" + i].Value = "Value: " + i;
}
workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workBook.SaveAs("sample.xlsx");
Console.WriteLine("successfully written in Excel File");
}
using System;
using IronXL;
static void Main(string [] args)
{
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];
// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
workSheet ["B1:B5"].Value = "Range value";
//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
//write the Dynamic value in one row
workSheet ["C" + i].Value = "Value: " + i;
//write the Dynamic value in another row
workSheet ["D" + i].Value = "Value: " + i;
}
workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workBook.SaveAs("sample.xlsx");
Console.WriteLine("successfully written in Excel File");
}
Imports System
Imports IronXL
Shared Sub Main(ByVal args() As String)
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets (0)
' Access A1 cell and write the value
workSheet ("A1").Value = "Value using cell reference"
workSheet ("B1:B5").Value = "Range value"
'specify range in which we want to write the values
For i As Integer = 1 To 5
'write the Dynamic value in one row
workSheet ("C" & i).Value = "Value: " & i
'write the Dynamic value in another row
workSheet ("D" & i).Value = "Value: " & i
Next i
workSheet ("D5").Replace("Value: 5", "Replaced Value")
workBook.SaveAs("sample.xlsx")
Console.WriteLine("successfully written in Excel File")
End Sub
Para obtener información más detallada sobre cómo leer datos de archivos Excel en C#, eche un vistazo aeste ejemplo.
La salida del archivo es:
El archivo Excel de salida
Este artículo demuestra cómo escribir datos en archivos de Excel en C# usando IronXL. IronXL ofrece la posibilidad de trabajar con archivos Excel existentes sin ningún problema. También permite crear nuevos archivos de Excel y escribir datos en ellos con una sintaxis sencilla. IronXL también puede utilizarse para leer archivos de Excel sin tener instalada la aplicación Microsoft Excel. Para leer datos de archivos Excel puede ver estopágina de ejemplo de código.
IronXL es gratuito para el desarrollo y puede adquirirse bajo licencia para uso comercial. También puedes probar IronXL gratisensayo para uso comercial.
9 productos API .NET para sus documentos de oficina