Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
Una de las bibliotecas más conocidas, IronXL, se utilizará en este artículo para contrastar y comparar diferentes formas en que las tecnologías .NET pueden interactuar programáticamente con documentos de Microsoft Excel. También creará un entorno para leer, escribir y exportar hojas de cálculo Excel a archivos CSV.
El IronXL for .NET, una biblioteca de Excel en C#, se puede utilizar para leer y convertir documentos de Microsoft Excel a archivos CSV. IronXL es una biblioteca de software .NET independiente que puede usarse sin la instalación de Microsoft Office o Microsoft.Office.Interop.Excel
. Puede leer diversos formatos de hojas de cálculo.
Las hojas de cálculo de Excel pueden leerse, editarse y generarse con facilidad en un contexto .NET gracias a la sencilla API C# de IronXL. Xamarin, Linux, macOS, Azure, .NET Core y .NET Framework son totalmente compatibles con IronXL.
Verá lo fácil que es construir un archivo CSV utilizando la biblioteca IronXL en las siguientes secciones de este boletín.
Paso 1: Inicie un nuevo proyecto para generar un archivo CSV.
Abra Visual Studio y elija "Nuevo proyecto" en el menú "Archivo".
Elija las plantillas de proyecto .NET "Console App" en el cuadro de diálogo siguiente y, a continuación, haga clic en "Siguiente".
Crear una nueva Aplicación de Consola en Visual Studio
Puede introducir el nombre que desee para el "Nombre del proyecto". Una vez que se haya proporcionado la ubicación del nuevo proyecto en la sección "Ubicación", haga clic en el botón Siguiente para continuar.
Configure el nuevo proyecto
El menú desplegable Framework permite elegir un .NET Framework. En este caso, la versión de .NET con soporte a largo plazo es la 6.0. A continuación, haz clic en el botón Crear.
Selección del marco de trabajo objetivo de .NET
Instale la biblioteca IronXL, ya que es necesaria para la resolución posterior. Para ello, introduzca el siguiente comando en la consola del gestor de paquetes:
Install-Package IronXL.Excel
Instalar el paquete IronXL
Una alternativa es buscar el paquete "IronXL" utilizando el Gestor de paquetes NuGet. En la pestaña Examinar, introduzca "IronXL" en el cuadro de búsqueda para buscar la biblioteca IronXL. En esta lista de todos los paquetes NuGet relacionados con IronXL, seleccione el paquete necesario para descargar.
Buscar e instalar el paquete IronXL en el Administrador de paquetes NuGet UI
Con IronXL, crear tablas de datos en archivos CSV es sencillo y rápido. Facilita la escritura de datos en un archivo CSV fresco. El primer paso es incluir el espacio de nombres IronXL, como se ve en la captura de pantalla de código a continuación. Una vez presentado IronXL, sus clases y métodos pueden utilizarse en el código.
Incluir el espacio de nombres IronXL
IronXL se puede utilizar para crear archivos de Excel, que posteriormente se convierten en objetos WorkBook
. Después de que se convierten en objetos de la clase WorkBook
, es posible trabajar en ellos de varias formas. Al transformar un DataTable
en una hoja de cálculo de Excel, el código fuente de ejemplo a continuación crea un archivo de Excel.
using IronXL;
using System.Data;
static void main(String [] arg)
{
ExportToExcel("test.csv");
}
public static void ExportToExcel(string filepath)
{
DataTable table = new DataTable();
table.Columns.Add("DataSet_Animals", typeof(string));
table.Rows.Add("Lion");
table.Rows.Add("Tiger");
table.Rows.Add("Leopard");
table.Rows.Add("Cheetah");
table.Rows.Add("Hyenas");
var workbook = WorkBook.Create(ExcelFileFormat.XLS);
var writer = workbook.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
writer["A" + (rowCount)].Value = row[0].ToString();
rowCount++;
}
workbook.SaveAsCsv(filepath, ";");
//or
var stream = workbook.ToStream();
}
using IronXL;
using System.Data;
static void main(String [] arg)
{
ExportToExcel("test.csv");
}
public static void ExportToExcel(string filepath)
{
DataTable table = new DataTable();
table.Columns.Add("DataSet_Animals", typeof(string));
table.Rows.Add("Lion");
table.Rows.Add("Tiger");
table.Rows.Add("Leopard");
table.Rows.Add("Cheetah");
table.Rows.Add("Hyenas");
var workbook = WorkBook.Create(ExcelFileFormat.XLS);
var writer = workbook.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
writer["A" + (rowCount)].Value = row[0].ToString();
rowCount++;
}
workbook.SaveAsCsv(filepath, ";");
//or
var stream = workbook.ToStream();
}
Imports IronXL
Imports System.Data
Shared Sub main(ByVal arg() As String)
ExportToExcel("test.csv")
End Sub
Public Shared Sub ExportToExcel(ByVal filepath As String)
Dim table As New DataTable()
table.Columns.Add("DataSet_Animals", GetType(String))
table.Rows.Add("Lion")
table.Rows.Add("Tiger")
table.Rows.Add("Leopard")
table.Rows.Add("Cheetah")
table.Rows.Add("Hyenas")
Dim workbook = WorkBook.Create(ExcelFileFormat.XLS)
Dim writer = workbook.DefaultWorkSheet
Dim rowCount As Integer = 1
For Each row As DataRow In table.Rows
writer("A" & (rowCount)).Value = row(0).ToString()
rowCount += 1
Next row
workbook.SaveAsCsv(filepath, ";")
'or
Dim stream = workbook.ToStream()
End Sub
El ejemplo de CSV anterior muestra cómo exportar el DataTable
a un archivo CSV. Después de que se ha establecido un DataTable
, es decir, se crean los encabezados de las columnas y una vez que se ha establecido la primera columna, las filas se agregan una a una. Después de agregar las filas y columnas al objeto DataTable
, se construye el objeto WorkBook
. El objeto WorkBook
se puede utilizar para agregar datos a una hoja de Excel, que luego se puede guardar en otro lugar. El siguiente paso es iniciar el objeto WorkSheet
, que está vinculado al objeto del libro de trabajo.
Antes de agregar el valor a la hoja de cálculo, se utiliza un bucle foreach
para leer cada valor del DataTable
. La función SaveAsCsv
se utiliza para guardar los datos en un archivo CSV una vez que todos se han puesto en la hoja de trabajo, usando el nombre del archivo como parámetro. Se puede utilizar un delimitador como argumento opcional si no es necesario. A continuación, la biblioteca ayuda a escribir los datos en un archivo CSV. Hay otra manera de leer archivos CSV además de Microsoft Excel utilizando el Bloc de notas. Además, el método Save
se utiliza para guardar el mismo en el formato de archivo dado.
OUTPUT archivo de Excel test.csv
Arriba está la salida del ejemplo de código que se ejecutó. Cada dato de la tabla de datos se ha añadido por separado a la hoja Excel recién creada en la captura de pantalla. Alternativamente, también se puede convertir en un flujo como parte de la Aplicación Web para devolver archivos que se pueden descargar desde el lado del cliente.
Para obtener más información sobre cómo exportar datos de DataTable a Excel, por favor revisa esta página de tutorial.
Para saber más sobre cómo exportar datos a Excel, por favor consulta este tutorial paso a paso.
IronXL es una de las utilidades de Excel más utilizadas. No depende de ninguna otra biblioteca externa. Es autónomo y no necesita tener instalado Microsoft Excel. Además, funciona a través de diversos canales.
Para todas las operaciones relacionadas con documentos de Microsoft Excel implementadas programáticamente, IronXL ofrece una solución integral. Calcular fórmulas, ordenar cadenas o números, recortar, agregar, encontrar y reemplazar, combinar y descombinar, guardar archivos y mucho más, todo es posible. Además de validar los datos de la hoja de cálculo, también puede establecer los tipos de datos de las celdas. Facilita el trabajo con datos de Excel y permite leer y escribir archivos.
IronXL ofrece una licencia de prueba gratuita que permite a los usuarios probar y testar todas sus increíbles características de forma gratuita.
En el lanzamiento, IronXL está disponible por $749. Los usuarios también pueden optar por pagar una cuota de suscripción de un año para recibir actualizaciones y asistencia sobre el producto. IronXL ofrece seguridad para la redistribución sin restricciones por un coste adicional. Para obtener datos de precios más precisos, visite la página de licencias de IronXL.