Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Puede ser difícil modificar mediante programación una hoja de cálculo Excel, por dos razones principales. En primer lugar, al trabajar con hojas de cálculo, los usuarios deben mantener una interfaz y una estructura de documentos coherentes, lo que no siempre es sencillo. En segundo lugar, no siempre está claro qué código funcionará en situaciones concretas, sobre todo cuando se trata de cálculos sofisticados. Existen numerosas razones por las que resulta difícil crear un archivo Excel mediante programación. Los programadores deben transformar primero los datos del documento Excel en un formato legible y, a continuación, analizarlos y volver a analizarlos, lo que resulta aún más difícil. He encontrado una solución a este problema. Te enseñaré como hacer un archivo Excel y exportar programáticamente un Datatable a una hoja Excel sin ningún problema usando la librería IronXL .NET Excel. Empecemos:
Fila de datos
de Tabla de datos
en C#Valor
propiedad en Celda
y rellenar la hoja de cálculo con los datos de Fila de datos
IronXL nos permite guardar yexportar archivos con diversas extensiones, como XLS, CSV, TSV, JSON y XLSX, entre otras.
*Fórmulas Excel puede ser creado por IronXL.
Para utilizar la biblioteca IronXL, debemos crear un proyecto .NET en Visual Studio. Puede utilizar cualquier versión de Visual Studio, pero se recomienda la última versión. Puede crear una aplicación como Windows Forms o diferentes plantillas de proyecto, en función de sus necesidades. Utilizaré la Aplicación de Consola para este tutorial, por simplicidad.
Crear una nueva interfaz de usuario de proyecto en Visual Studio
A continuación, introduzca el nombre y la ubicación del proyecto.
Paso de configuración en la creación de un nuevo proyecto
A continuación, seleccione el marco siguiente. En este proyecto, vamos a utilizar .NET Core 6.
**Selección de la interfaz de usuario de .Net Framework
Una vez que la Aplicación crea la solución, abrirá el archivo program.cs donde puede introducir el código y construir/ejecutar la aplicación.
Archivo program.cs vacío en el nuevo proyecto
A continuación, podemos añadir la biblioteca para probar el código.
La biblioteca IronXL puede descargarse e instalarse de cuatro formas.
Estos son:
Podemos instalar la librería IronXL utilizando NuGet Package Manager. Primero debe abrir el gestor de paquetes NuGet y, a continuación, buscar IronXL en la pestaña Examinar. Selecciona IronXL de los resultados de búsqueda e instálalo. Después de eso, nuestro proyecto estará listo para su uso en la biblioteca IronXL.
La siguiente captura de pantalla muestra cómo podemos abrir el gestor de paquetes NuGet en Visual Studio.
Navegue hasta el gestor de paquetes NuGet en Visual Studio.
IronXL en los resultados de búsqueda:
Busca la biblioteca IronXL
A mucha gente le encanta utilizar una Consola para realizar operaciones. Así que también podemos instalarlo por Consola. Siga los siguientes pasos para instalar IronXL mediante la línea de comandos.
Install-Package IronXL.Excel
Ahora el paquete se descargará/instalará en el proyecto actual y estará listo para su uso.
Instalar el paquete IronXL a través de la consola
La tercera forma es descargar el paquete NuGet directamente del sitio web.
Haga clic en el enlace paradescargar el último paquete directamente desde el sitio web. Una vez descargado, siga los pasos que se indican a continuación para añadir el paquete al proyecto.
IronXL nos permite exportar tablas de datos a archivos Excel fácilmente con un número limitado de pasos.
En primer lugar, tenemos que incluir el espacio de nombres de IronXL como en la captura de pantalla de código a continuación. Una vez añadido, podemos utilizar las clases y métodos IronXL en nuestro código.
Incluir namespace
de IronXL antes de usar la librería
IronXL nos permite crear archivos de Excel y convertirlos en objetos de libro. Tras convertirlos en objetos, podemos realizar varios tipos de operaciones. En el siguiente código de ejemplo, convertiremos un Datatable en una hoja de cálculo Excel, y entonces podremos crear un archivo Excel.
public static void ExportToExcel(string filePath)
{
DataTable table = new DataTable();
table.Columns.Add("DataSet_Animal", typeof(string));
table.Rows.Add("Lion");
table.Rows.Add("Tiger");
table.Rows.Add("Cat");
table.Rows.Add("Goat");
table.Rows.Add("Panther");
table.Rows.Add("Fox");
table.Rows.Add("Cheetah");
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
ws ["A" + (rowCount)].Value = row [0].ToString();
rowCount++;
}
wb.SaveAsCsv(filePath, ";");
}
public static void ExportToExcel(string filePath)
{
DataTable table = new DataTable();
table.Columns.Add("DataSet_Animal", typeof(string));
table.Rows.Add("Lion");
table.Rows.Add("Tiger");
table.Rows.Add("Cat");
table.Rows.Add("Goat");
table.Rows.Add("Panther");
table.Rows.Add("Fox");
table.Rows.Add("Cheetah");
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
ws ["A" + (rowCount)].Value = row [0].ToString();
rowCount++;
}
wb.SaveAsCsv(filePath, ";");
}
Public Shared Sub ExportToExcel(ByVal filePath As String)
Dim table As New DataTable()
table.Columns.Add("DataSet_Animal", GetType(String))
table.Rows.Add("Lion")
table.Rows.Add("Tiger")
table.Rows.Add("Cat")
table.Rows.Add("Goat")
table.Rows.Add("Panther")
table.Rows.Add("Fox")
table.Rows.Add("Cheetah")
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
Dim ws As WorkSheet = wb.DefaultWorkSheet
Dim rowCount As Integer = 1
For Each row As DataRow In table.Rows
ws ("A" & (rowCount)).Value = row (0).ToString()
rowCount += 1
Next row
wb.SaveAsCsv(filePath, ";")
End Sub
En el código anterior, estamos exportando la tabla de datos a un archivo de Excel. En primer lugar, estamos creando un DataTable
, y luego estamos creando encabezados de columna. Después de crear las columnas, las añadimos una a una. Una vez añadida la columna, creamos el archivoLibro de trabajo objeto. Utilizando el objeto, podemos añadir los datos a la hoja Excel, y luego podemos guardar los datos en la ubicación. Estamos creando elHoja de trabajo que permite crear una hoja de trabajo, y luego podemos añadirla al objeto WorkBook
.
Estamos utilizando el bucle foreach
para leer los valores de la tabla de datos uno a uno y luego añadimos el valor a la hoja de cálculo. Una vez añadidos todos los valores a la hoja de cálculo, los guardamos en un archivo CSV utilizando el método llamado SaveAsCSV - necesitamos pasar el delimitador y el nombre del archivo con la ubicación como parámetro. Un delimitador es un parámetro opcional que podemos ignorar si no es necesario.
**El código completo en Visual Studio
Lo anterior es la captura de pantalla completa del código que estamos utilizando en el .NET core 6.
Resultado:
El resultado al abrir el archivo en Microsoft Excel.
Arriba está el resultado del ejemplo de código ejecutado. En la captura de pantalla, todos los datos disponibles en la tabla de datos se han añadido uno a uno a la hoja Excel recién creada.
IronXL es una de las bibliotecas de Excel más utilizadas. No depende de ninguna otra biblioteca de terceros. Es independiente y no necesita tener instalado MS Excel. Funciona en múltiples plataformas. El precio de lanzamiento de IronXL es de $749. Además, ofrece la opción de pagar una cuota de un año por la asistencia técnica y las actualizaciones del producto. IronXL ofrece cobertura de redistribución sin derechos de autor con un coste adicional. Para obtener más información sobre los precios, visite nuestra páginapágina de licencias.
9 productos API .NET para sus documentos de oficina