Saltar al pie de página
USANDO IRONXL

Analizador CSV en C# (Tutorial paso a paso)

IronXL permite analizar y convertir archivos CSV a/desde formatos de Excel en C# con solo dos líneas de código. Este tutorial demuestra cómo convertir archivos XLSX, XLS y TSV a formato CSV usando la sencilla API de la biblioteca IronXL, eliminando la necesidad de un código de análisis manual complejo. La biblioteca maneja todos los detalles intrincados de la conversión de formatos de archivo internamente, haciéndola perfecta para desarrolladores que necesitan un análisis CSV rápido y confiable sin escribir mucho código.

¿Alguna vez te has quedado atascado intentando analizar archivos CSV y convertirlos a XLSX, o archivos XLSX a CSV, para una tarea importante en .NET, pero no has podido averiguar cómo hacerlo sin escribir toneladas de código?

Existen muchas bibliotecas CSV para resolver este problema. Sin embargo, la biblioteca Excel de IronXL en C# se utilizará en este tutorial para realizar estas tareas con solo dos líneas de código. A diferencia de los enfoques tradicionales que requieren un análisis manual de delimitadores y manejo de casos límites, IronXL proporciona una solución robusta y probada que funciona en diferentes plataformas incluyendo Windows, Linux y macOS.

Para comenzar, todo lo que necesitas es Visual Studio. Sigue las instrucciones a continuación para los pasos detallados de instalación. Este tutorial está diseñado para desarrolladores con conocimientos básicos de C# que quieran trabajar con archivos de Excel sin dependencias de Interop.

¿Cómo creo un nuevo proyecto en Visual Studio?

Abre el editor de Visual Studio.

Ve al menú Archivo en Visual Studio. Elige "Nuevo Proyecto", luego selecciona Aplicación de Consola. Esto crea una estructura de proyecto simple que es perfecta para aprender a crear y manipular archivos de Excel.

Escribe el nombre del proyecto y elige la ubicación del proyecto. Luego haz clic en el botón Create para crear el proyecto. Selecciona el .NET Framework requerido, como se muestra en la captura de pantalla a continuación:

Diálogo de configuración de nuevo proyecto en Visual Studio mostrando configuraciones para una aplicación de consola C# (.NET Framework) con el nombre de proyecto 'ConsoleApp1', ruta de ubicación, y .NET Framework 4.7.2 seleccionado Figura 1: Configura tu nuevo proyecto de aplicación de consola C# en Visual Studio con .NET Framework 4.7.2

El archivo program.cs se abrirá para que puedas ingresar la lógica y crear/ejecutar la aplicación. Aquí es donde agregaremos nuestro código de análisis CSV usando la API directa de IronXL.

¿Cómo instalo la biblioteca IronXL C#?

La biblioteca IronXL se puede descargar e instalar de muchas formas diferentes. Hoy en día, nos enfocaremos en dos métodos que son más comúnmente utilizados en entornos de desarrollo profesional:

  • Usando el Administrador de Paquetes NuGet de Visual Studio
  • Usando la Línea de Comandos de Visual Studio

Ambos métodos son igualmente efectivos, y tu elección dependerá de si prefieres una interfaz gráfica o herramientas de línea de comandos. Para una guía de instalación detallada en diferentes entornos, consulta la documentación oficial.

¿Debo usar el Administrador de paquetes NuGet de Visual Studio?

La IU del Administrador de Paquetes NuGet está disponible en Visual Studio para instalar el paquete directamente en el proyecto. Este método es particularmente útil para los desarrolladores que prefieren interfaces visuales y desean ver los detalles del paquete antes de la instalación. La captura de pantalla a continuación muestra cómo abrirlo.

Visual Studio interface showing the Tools menu expanded with NuGet Package Manager option highlighted, and a secondary menu showing 'Manage NuGet Packages for Solution' selected Access the NuGet Package Manager in Visual Studio by navigating to Tools > NuGet Package Manager > Manage NuGet Packages for Solution

La interfaz del Administrador de paquetes proporciona una función de Examinar que muestra una lista de bibliotecas de paquetes disponibles en el sitio web de NuGet. Ingresa "IronXL" como se muestra en la captura de pantalla a continuación para encontrar el paquete IronXL. También puedes explorar funciones relacionadas con la manipulación de Excel que ofrece IronXL.

Interfaz del Administrador de paquetes NuGet en Visual Studio mostrando los resultados de búsqueda del paquete IronXl.Excel, con la versión 2022.9.9454 seleccionada para la instalación en un proyecto C# llamado 'Crear PDF' El Administrador de paquetes NuGet en Visual Studio mostrando la biblioteca IronXl.Excel, que permite a los desarrolladores leer, generar y editar archivos de Excel en aplicaciones .NET. El paquete se muestra con 250K descargas y la versión 2022.9.9454 lista para la instalación

Selecciona el paquete IronXl.Excel y haz clic en el botón Install para agregarlo al proyecto. El proceso de instalación manejará automáticamente todas las dependencias y configurará tu proyecto para la manipulación de archivos Excel.

¿Cuándo debo usar la línea de comandos de Visual Studio?

En el menú de Visual Studio, ve a Herramientas > Administrador de paquetes NuGet > haz clic en Consola del administrador de paquetes. Este método es preferido por los desarrolladores que están cómodos con interfaces de línea de comandos o necesitan automatizar el proceso de instalación en scripts de compilación.

Interfaz de Visual Studio mostrando el menú de Herramientas expandido con la opción del Administrador de paquetes NuGet resaltada, y la ventana de la Consola del Administrador de paquetes abierta en la parte inferior Abriendo la Consola del Administrador de paquetes NuGet en Visual Studio para instalar bibliotecas de análisis CSV

La Consola del administrador de paquetes aparecerá en la parte inferior de la pantalla. Escribe el siguiente comando y presiona enter. IronXL se instalará. Este método es particularmente útil cuando necesitas instalar versiones específicas o cuando trabajas con scripts de implementación para Azure o entornos AWS.

Install-Package IronXL.Excel

Consola del Administrador de paquetes en Visual Studio mostrando la instalación del paquete NuGet IronXl.Excel con confirmaciones de descarga exitosas La Consola del Administrador de paquetes muestra la instalación exitosa de la versión 2022.11.10251 de IronXl.Excel, mostrando el proceso de restauración del paquete y las confirmaciones de descarga desde el repositorio NuGet

¿Cómo analizo archivos CSV con IronXL?

Analizar archivos CSV manualmente requiere escribir mucho código preciso para realizar el trabajo, pero con IronXL, solo requiere unas pocas líneas de código. Esta simplicidad es especialmente valiosa cuando necesitas convertir rápidamente entre diferentes formatos de hoja de cálculo.

Usar solo código convencional de C# para analizar archivos con formato CSV requiere mucho código voluminoso. Aquí hay un ejemplo de código para lograr esto utilizando un enfoque tradicional:

using FileHelpers;
using System;

namespace parse_csv
{
    [DelimitedRecord(",")]
    public class Record
    {
        public string Name;
        public string Age;
    }

    class Program
    {
        static void Main(string[] args)
        {
            // Create a FileHelperEngine for the Record class
            var fileHelperEngine = new FileHelperEngine<Record>();

            // Read records from the CSV file into an array
            // Note: This requires proper error handling for production use
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            // Print each record's Name and Age
            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)
        {
            // Create a FileHelperEngine for the Record class
            var fileHelperEngine = new FileHelperEngine<Record>();

            // Read records from the CSV file into an array
            // Note: This requires proper error handling for production use
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            // Print each record's Name and Age
            foreach (var record in records)
            {
                Console.WriteLine(record.Name);
                Console.WriteLine(record.Age);
            }
        }
    }
}
$vbLabelText   $csharpLabel

Pero usando IronXL, esto se puede lograr en solo unas pocas líneas de código, con manejo de errores incorporado y soporte para varios formatos de archivo.

Utilizando IronXL, puedes analizar archivos CSV desde XLSX, XLS, TSV y más. La biblioteca también admite leer archivos de Excel en aplicaciones ASP.NET y aplicaciones Blazor. En este tutorial, exploraremos las siguientes conversiones:

  1. Analizar archivo CSV desde archivo XLSX
  2. Analizar archivo CSV de archivo XLS
  3. Analizar archivo CSV de archivo TSV

¿Cómo convierto un archivo XLSX a CSV?

Abre Microsoft Excel y crea un nuevo archivo XLSX. Llena sus filas y columnas con algunos datos ficticios. Para escenarios de producción, podrías querer crear archivos Excel programáticamente usando IronXL. La imagen a continuación muestra el archivo utilizado para todas las conversiones en este tutorial.

Hoja de cálculo de Excel mostrando una tabla de inventario simple con columnas para Artículos, Cantidad, Precio y Total, con datos para Hacha, Bolígrafo, Cargador y Auriculares Figura 6: Datos de Excel de Muestra mostrando una estructura básica de inventario que se utilizará para demostrar el análisis CSV en C#

Una vez que tengas tu archivo listo, escribe el siguiente código de ejemplo y ejecuta el programa. IronXL maneja todo el análisis complejo internamente, incluyendo el manejo adecuado de caracteres especiales y tipos de datos:

using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLSX file into a WorkBook object
        // The Load method automatically detects the file format
        WorkBook wb = WorkBook.Load("test.xlsx");

        // Save the WorkBook as a CSV file
        // This method handles all formatting and conversion automatically
        wb.SaveAsCsv("Parsed CSV.csv");

        // Optional: Save with custom delimiter
        // wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLSX file into a WorkBook object
        // The Load method automatically detects the file format
        WorkBook wb = WorkBook.Load("test.xlsx");

        // Save the WorkBook as a CSV file
        // This method handles all formatting and conversion automatically
        wb.SaveAsCsv("Parsed CSV.csv");

        // Optional: Save with custom delimiter
        // wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";");
    }
}
$vbLabelText   $csharpLabel

Después de que la ejecución esté completa, se creará un nuevo archivo llamado Parsed CSV.csv. Puedes leer archivos CSV en cualquier editor o lector que prefieras. También puedes importar los datos CSV de vuelta a Excel para una mayor manipulación. La imagen a continuación muestra la salida del comando anterior: nuestros datos CSV generados. En el archivo de salida, las comillas dobles representan valores en negrita.

Archivo CSV abierto en WordPad mostrando datos de productos con encabezados 'Artículos', 'cantidad', 'Precio', y 'Total', que contiene entradas para HACHE, Bolígrafo, Cargador y Auriculares con sus respectivos valores Figura 7: La salida CSV generada por el método SaveAsCsv, mostrando los datos de Excel convertidos en formato separado por comas

¿Cuáles son los pasos para convertir archivos XLS a CSV?

En este ejemplo, veremos cómo convertir archivos XLS en formato CSV. El proceso es idéntico a la conversión de XLSX, demostrando la versatilidad de IronXL en el manejo de diferentes formatos de archivo de Excel.

Primero, crearemos un ejemplo de archivo XLS que podamos convertir al formato CSV. Ten en cuenta que el XLS es un formato de Excel más antiguo, pero IronXL lo maneja sin problemas junto con formatos modernos:

Hoja de cálculo de Microsoft Excel mostrando un inventario de artículos con columnas para Artículos, Cantidad, Precio y Total, mostrando varias herramientas como hacha, bolígrafo, cargador, auriculares, y sierra con sus respectivas cantidades y totales calculados sumando un total general de 1239 Figura 8: Un archivo de Excel de muestra demostrando la estructura de datos del inventario con cálculos automáticos, que se puede analizar utilizando bibliotecas CSV en C#

A continuación, ejecutaremos el bloque de código a continuación para convertir el archivo XLS de muestra en un archivo CSV. IronXL preserva la integridad de los datos durante la conversión, incluidas las fórmulas y cálculos:

using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLS file into a WorkBook object
        // IronXL automatically handles the older XLS format
        WorkBook wb = WorkBook.Load("XLS.xls");

        // Save the WorkBook as a CSV file
        // All formulas are evaluated and results are exported
        wb.SaveAsCsv("Example2.csv");

        // Optional: Export specific worksheet
        // WorkSheet ws = wb.GetWorkSheet("Sheet1");
        // ws.SaveAsCsv("Example2.csv");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLS file into a WorkBook object
        // IronXL automatically handles the older XLS format
        WorkBook wb = WorkBook.Load("XLS.xls");

        // Save the WorkBook as a CSV file
        // All formulas are evaluated and results are exported
        wb.SaveAsCsv("Example2.csv");

        // Optional: Export specific worksheet
        // WorkSheet ws = wb.GetWorkSheet("Sheet1");
        // ws.SaveAsCsv("Example2.csv");
    }
}
$vbLabelText   $csharpLabel

Después de que el código anterior termine de ejecutarse, tendrás un archivo CSV recién generado. Para escenarios más complejos, podrías querer seleccionar rangos específicos o ordenar los datos antes de exportar.

Ventana de WordPad mostrando un archivo CSV con artículos, cantidades, precios y totales incluyendo entradas para HACHE, Bolígrafo, Cargador, Auriculares y SIERRA Archivo CSV de ejemplo abierto en WordPad mostrando datos formateados correctamente separados por comas con encabezados y múltiples entradas de productos

¿Cómo puedo analizar archivos CSV desde formato TSV?

Las aplicaciones de hoja de cálculo usan frecuentemente archivos TSV, o archivos de valores separados por tabulaciones, para transferir datos entre bases de datos. Guarda una tabla de datos con tabulaciones separando las columnas de datos y cada registro en una línea diferente. Los archivos TSV son particularmente útiles cuando tus datos contienen comas que podrían interferir con el análisis de CSV.

IronXL ofrece un analizador CSV para analizar archivos CSV desde el formato TSV para una mejor gestión de datos. El proceso de conversión es sencillo y mantiene la integridad de los datos.

Comencemos con el ejemplo. Primero, crearemos un archivo TSV con datos de estudiantes:

Documento de Microsoft Word mostrando una tabla con datos de estudiantes, incluidos nombres, direcciones de correo electrónico, números de matrícula (R-NO), y calificaciones en letras, formateado con valores separados por tabulaciones Ejemplo de datos de estudiantes separados por tabulaciones mostrados en Microsoft Word, mostrando la estructura de un archivo TSV con columnas para NOMBRE, CORREO, R-NO, y Calificación

using IronXL;

class Program
{
    static void Main()
    {
        // Load the TSV file into a WorkBook object
        // IronXL automatically detects tab-separated format
        WorkBook wb = WorkBook.Load("TSV.tsv");

        // Save the WorkBook as a CSV file
        // Tabs are converted to commas automatically
        wb.SaveAsCsv("Example3.csv");

        // Alternative: Load with explicit delimiter specification
        // WorkBook wb = WorkBook.LoadCSV("TSV.tsv", delimiter: "\t");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the TSV file into a WorkBook object
        // IronXL automatically detects tab-separated format
        WorkBook wb = WorkBook.Load("TSV.tsv");

        // Save the WorkBook as a CSV file
        // Tabs are converted to commas automatically
        wb.SaveAsCsv("Example3.csv");

        // Alternative: Load with explicit delimiter specification
        // WorkBook wb = WorkBook.LoadCSV("TSV.tsv", delimiter: "\t");
    }
}
$vbLabelText   $csharpLabel

A continuación se muestra la salida en formato CSV. Observa cómo IronXL ha convertido correctamente los valores separados por tabulaciones en valores separados por comas mientras mantiene la estructura de los datos:

Documento de WordPad mostrando un archivo CSV con datos de estudiantes incluidos nombres, correos electrónicos, números de matrícula y calificaciones formateados con comas como delimitadores Ejemplo de archivo CSV abierto en WordPad mostrando registros de estudiantes con campos de nombre, correo, número de matrícula y calificación separados por comas

¿Cuáles son los beneficios clave de usar IronXL para el análisis de CSV?

Este tutorial demuestra cómo usar IronXL para analizar varios formatos de archivo a CSV en C#. La biblioteca proporciona una API consistente en todos los formatos de archivo, lo que hace fácil trabajar con diferentes versiones y formatos de Excel sin cambiar tu estructura de código.

Además, la biblioteca IronXL proporciona las siguientes características que la convierten en una excelente opción para la manipulación de Excel:

IronXL también se destaca en la optimización del rendimiento. Según las mejoras recientes de rendimiento, la biblioteca ahora procesa archivos 40 veces más rápido mientras usa significativamente menos memoria, lo que la hace adecuada para tareas de procesamiento de datos a gran escala. La biblioteca funciona sin problemas en contenedores Docker, en sistemas Linux, y entornos macOS, proporcionando verdadera compatibilidad multiplataforma.

Para entornos empresariales, IronXL ofrece funciones de seguridad robustas y cumple con los estándares de la industria. La biblioteca soporta VB.NET así como C#, haciéndola versátil para diferentes equipos de desarrollo. Al trabajar con archivos grandes, sé consciente de los límites de tamaño de archivo y las estrategias de optimización disponibles.

Consulta las características de IronXL, ejemplos de código y documentación para más información sobre cómo funciona IronXL. Puedes explorar casos de uso específicos como trabajar con .NET MAUI para el desarrollo móvil o la integración con DataTables para operaciones de base de datos. Descarga IronXL y pruébalo gratis por 30 días con una clave de licencia de prueba. Para uso en producción, necesitarás aplicar una clave de licencia que se puede configurar en tu web.config para aplicaciones web. Visita la página de licencias para más información sobre los términos y condiciones de licenciamiento, incluyendo opciones para extensiones de licencia y actualizaciones.

Compra la Iron Suite completa para obtener licencias de las cinco bibliotecas de Iron Software por el precio de dos licencias de la biblioteca IronXL.

¡Gracias por leer!

Preguntas Frecuentes

¿Cómo puedo analizar archivos CSV en C# sin usar Interop?

IronXL te permite analizar archivos CSV en C# sin usar Interop. Puedes cargar un archivo CSV en un objeto WorkBook y manipularlo directamente, convirtiéndolo a otros formatos como XLSX o XLS con solo unas pocas líneas de código.

¿Qué pasos se necesitan para instalar la biblioteca IronXL en Visual Studio?

Para instalar la biblioteca IronXL en Visual Studio, abre la IU del Administrador de Paquetes NuGet, busca 'IronXL' e instálalo. Alternativamente, puedes usar la Línea de Comandos de Visual Studio y ejecutar el comando Install-Package IronXL.Excel en la Consola de Gestor de Paquetes.

¿Cómo puedo convertir archivos CSV a formatos de Excel en C#?

Usando IronXL, puedes convertir archivos CSV a formatos de Excel como XLSX o XLS cargando el CSV en un objeto WorkBook y guardándolo en el formato deseado usando métodos como SaveAsXlsx.

¿Es posible analizar archivos TSV y convertirlos a CSV en C#?

Sí, IronXL permite el análisis de archivos TSV. Carga el archivo TSV en un objeto WorkBook y usa el método SaveAsCsv para convertirlo en un archivo CSV.

¿Qué funcionalidades proporciona una biblioteca de Excel para C# para la manipulación de datos?

IronXL proporciona funcionalidades como manipulación de datos, gestión de gráficos, formato de celdas y compatibilidad con el cifrado de Excel. Soporta operaciones como paneles de congelación, fórmulas y formato condicional.

¿Cómo puedo gestionar formatos de hojas de cálculo de Excel programáticamente en C#?

IronXL permite la gestión de diferentes formatos de hojas de cálculo como XLSX, XLS y CSV. Proporciona métodos para convertir entre estos formatos y manejar datos eficientemente dentro de aplicaciones .NET.

¿Puedo probar una biblioteca de Excel para C# antes de comprarla?

Sí, IronXL ofrece una prueba gratuita de 30 días disponible para descargar desde el sitio web de NuGet. Esto te permite probar sus características y asegurarte de que cumple con tus necesidades antes de realizar una compra.

¿Qué beneficios ofrece IronXL para analizar y convertir archivos CSV?

IronXL simplifica el proceso de análisis y conversión de archivos CSV con un código mínimo. Asegura un manejo eficiente de datos y proporciona características extensivas que mejoran la manipulación de archivos Excel en aplicaciones C#.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame