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
¿Alguna vez se ha quedado atascado intentando analizar archivos CSV y convertirlos en archivos XLSX o XLSX en archivos CSV para alguna tarea importante en .NET, pero no ha podido averiguar cómo hacerlo sin escribir toneladas de código?
Existen muchas bibliotecas CSV para resolver este problema. Sin embargo, la biblioteca IronXL de C# para Excel se utilizará en este blog para realizar estas tareas con solo dos líneas de código.
Para empezar, todo lo que necesita es Visual Studio, y siga las instrucciones de instalación detalladas a continuación.
Abra el editor de Visual Studio.
Vaya al menú Archivo de Visual Studio. Elija "Nuevo proyecto" y, a continuación, seleccione Aplicación de consola.
Escriba el nombre del proyecto y elija su ubicación. A continuación, haz clic en el botón Create para crear el proyecto. Seleccione el .NET Framework necesario, como se muestra en la siguiente captura de pantalla:
Crea un nuevo C#. Aplicación de Consola NET
El archivo program.cs
se abrirá para que puedas ingresar la lógica y crear/ejecutar la aplicación.
La biblioteca IronXL puede descargarse e instalarse de muchas formas distintas. Hoy nos centraremos en dos de ellos:
La interfaz de usuario del gestor de paquetes NuGet está disponible en Visual Studio para instalar el paquete directamente en el proyecto. La siguiente captura de pantalla muestra cómo abrirlo.
Instalación de IronXL utilizando la interfaz del administrador de paquetes NuGet de Visual Studio
La interfaz de usuario del gestor de paquetes proporciona una función Examinar que muestra una lista de las bibliotecas de paquetes que se ofrecen en el sitio web de NuGet. Introduzca la palabra clave "IronXL", como en la siguiente captura de pantalla, para encontrar el paquete IronXL.
Ubique la biblioteca IronXL en el Administrador de paquetes NuGet buscándola en la sección Explorar
Seleccione el paquete IronXL.Excel
y haga clic en el botón Instalar para agregarlo al proyecto.
En el menú de Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > haga clic en Consola del administrador de paquetes.
Accede a la Consola del Administrador de Paquetes NuGet dentro de Visual Studio desde el menú Herramientas
La consola del gestor de paquetes aparecerá en la parte inferior de la pantalla. Sólo tienes que escribir el siguiente comando y pulsar enter, y IronXL se instalará.
Install-Package IronXL.Excel
Instalar la biblioteca IronXL a través de la línea de comandos
Parsear CSVs manualmente requiere escribir mucho código preciso para hacer el trabajo, pero con IronXL, sólo requiere unas pocas líneas de código.
Si sólo utiliza código C# convencional para analizar archivos con formato CSV, tendrá que utilizar mucho código voluminoso. He aquí un ejemplo de código para conseguirlo.
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string [] args)
{
var fileHelperEngine = new FileHelperEngine<Record>();
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string [] args)
{
var fileHelperEngine = new FileHelperEngine<Record>();
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
Imports FileHelpers
Imports System
Namespace parse_csv
<DelimitedRecord(",")>
Public Class Record
Public Name As String
Public Age As String
End Class
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim fileHelperEngine As New FileHelperEngine(Of Record)()
Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")
For Each record In records
Console.WriteLine(record.Name)
Console.WriteLine(record.Age)
Next record
End Sub
End Class
End Namespace
Pero con IronXL esto se puede conseguir en unas pocas líneas de código.
Con IronXL puede analizar archivos CSV de XLSX, XLS, TSV y más. En este tutorial, exploraremos las siguientes conversiones:
Analizar un archivo CSV a partir de un archivo XLSX
Análisis de archivos CSV a partir de archivos XLS
Abra Microsoft Excel y cree un nuevo archivo XLSX. Rellena sus filas y columnas con algunos datos simulados. La siguiente imagen muestra el archivo utilizado para todas las conversiones en este tutorial.
Datos de muestra de Excel
Una vez que tengas listo tu archivo, escribe el siguiente código de ejemplo y ejecuta el programa.
using IronXL;
WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
using IronXL;
WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
Imports IronXL
Private wb As WorkBook = WorkBook.Load("test.xlsx")
wb.SaveAsCsv("Parsed CSV.csv")
Después de completar la ejecución, se creará un nuevo archivo llamado Parsed CSV.csv. La lectura de archivos CSV se puede hacer en cualquier editor o lector que desee. La siguiente imagen muestra la salida del comando anterior - nuestros datos CSV generados. En el archivo de salida, las comillas dobles representan valores en negrita.
El resultado de invocar el método WorkBook.SaveAsCsv en el libro de Excel de muestra
En este ejemplo, veremos cómo convertir archivos XLS en formato CSV.
En primer lugar, vamos a crear un archivo XLS de ejemplo que podemos convertir a formato CSV.
Un archivo XLS de muestra
A continuación, ejecutaremos el bloque de código siguiente para convertir el archivo XLS de muestra en un archivo CSV.
using IronXL;
WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
using IronXL;
WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
Imports IronXL
Private wb As WorkBook = WorkBook.Load("XLS.xls")
wb.SaveAsCsv("Example2.csv")
Una vez finalizada la ejecución del código anterior, dispondrá de un archivo CSV recién generado.
El archivo CSV resultante al guardar usando el código anterior
Las aplicaciones de hojas de cálculo suelen utilizar archivos TSV, o archivos de valores separados por tabulaciones, para transferir datos entre bases de datos. Guarda una tabla de datos con tabulaciones que separan las columnas de datos y cada registro en una línea diferente.
IronXL ofrece un analizador CSV para analizar archivos CSV desde el formato TSV para una mejor gestión de los datos.
Empecemos con el ejemplo.
Una hoja de cálculo TSV de muestra
using IronXL;
WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
using IronXL;
WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
Imports IronXL
Private wb As WorkBook = WorkBook.Load("TSV.tsv")
wb.SaveAsCsv("Example3.csv")
A continuación se muestra el resultado en formato CSV.
El archivo CSV de salida
Este tutorial utiliza IronXL para analizar diversos formatos de archivo a CSV en C#.
Además, la biblioteca IronXL también proporciona las siguientes funciones:
Compatible con Excel encriptación con contraseña.
Consulte el características, ejemplos de código y documentación de IronXL para obtener más información sobre cómo funciona IronXL. Descargar IronXL y pruébelo gratis durante 30 días con una clave de licencia de prueba. Visite la Página de Licencias para más información sobre los términos y condiciones de licencia.
Compre el Iron Suite completo para obtener licencias de las cinco bibliotecas de Iron Software al precio de dos licencias de la biblioteca IronXL.
¡Gracias por leer!