Analizador CSV en C# (Tutorial paso a paso)
IronXL permite analizar y convertir archivos CSV a/desde formatos Excel en C# con solo dos líneas de código. Este tutorial demuestra cómo convertir archivos XLSX, XLS y TSV al formato CSV utilizando la API simple 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 formato de archivo internamente, lo que la hace perfecta para desarrolladores que necesitan un análisis CSV rápido y confiable sin escribir código extenso.
¿Alguna vez te quedaste atascado intentando analizar archivos CSV y convertirlos a XLSX, o archivos XLSX a CSV para una tarea importante en .NET, pero no pudiste descubrir cómo hacerlo sin escribir toneladas de código?
Existen muchas bibliotecas CSV para resolver este problema. Sin embargo, en este tutorial se utilizará la biblioteca C# Excel IronXL para realizar estas tareas con solo dos líneas de código. A diferencia de los enfoques tradicionales que requieren el análisis manual de delimitadores y el manejo de casos extremos, IronXL proporciona una solución sólida y probada que funciona en diferentes plataformas, incluidas Windows, Linux y macOS.
Para comenzar, todo lo que necesitas es Visual Studio. Siga las instrucciones a continuación para conocer los pasos de instalación detallados. Este tutorial está diseñado para desarrolladores con conocimientos básicos de C# que desean trabajar con archivos de Excel sin dependencias de interoperabilidad .
¿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 haga clic en el botón Crear para crear el proyecto. Selecciona el .NET Framework requerido, como se muestra en la captura de pantalla a continuación:
Cuadro de diálogo de configuración de nuevo proyecto de Visual Studio que muestra la configuración de una aplicación de consola de C# (.NET Framework) con el nombre de proyecto 'ConsoleApp1', la ruta de ubicación y .NET Framework 4.7.2 seleccionado. Figura 1: Configure su nuevo proyecto de aplicación de consola de 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 utilizando la API sencilla de IronXL.
¿Cómo instalo la biblioteca C# IronXL?
La biblioteca IronXL se puede descargar e instalar de muchas formas diferentes. Hoy nos centraremos en dos métodos que se utilizan con mayor frecuencia 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 su elección depende de si prefiere una interfaz gráfica o herramientas de línea de comandos. Para obtener instrucciones de instalación detalladas en diferentes entornos, consulte la documentación oficial .
¿Debo utilizar 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 siguiente captura de pantalla muestra cómo abrirlo.
Interfaz de Visual Studio que muestra el menú Herramientas expandido con la opción Administrador de paquetes NuGet resaltada y un menú secundario que muestra "Administrar paquetes NuGet para la solución" seleccionado. Acceda al Administrador de paquetes NuGet en Visual Studio navegando a Herramientas > Administrador de paquetes NuGet > Administrar paquetes NuGet para la solución.
La interfaz del Administrador de Paquetes ofrece una función de Exploración que muestra una lista de bibliotecas de paquetes disponibles en el sitio web de NuGet. Introduzca "IronXL" como se muestra en la captura de pantalla a continuación para encontrar el paquete IronXL. También puede explorar las funciones de manipulación de Excel relacionadas que ofrece IronXL.
Interfaz del Administrador de paquetes NuGet de Visual Studio que muestra los resultados de la búsqueda del paquete IronXL.Excel, con la versión 2022.9.9454 seleccionada para su instalación en un proyecto de C# llamado "Crear PDF". El Administrador de paquetes NuGet en Visual Studio que muestra la biblioteca IronXL.Excel, que permite a los desarrolladores leer, generar y editar archivos Excel en aplicaciones .NET. El paquete se muestra con 250K descargas y la versión 2022.9.9454 lista para instalar.
Selecciona el paquete IronXL.Excel y haz clic en el botón Instalar para agregarlo al proyecto. El proceso de instalación manejará automáticamente todas las dependencias y configurará su proyecto para la manipulación de archivos Excel .
¿Cuándo debo utilizar 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 el preferido por los desarrolladores que se sienten cómodos con las interfaces de línea de comandos o necesitan automatizar el proceso de instalación en scripts de compilación.
¡ Interfaz de Visual Studio que muestra el menú Herramientas expandido con la opción Administrador de paquetes NuGet resaltada y la ventana Consola del administrador de paquetes abierta en la parte inferior Cómo abrir la consola del administrador de paquetes NuGet en Visual Studio para instalar bibliotecas de análisis de CSV
La Consola del administrador de paquetes aparecerá en la parte inferior de la pantalla. Escriba el siguiente comando y presione Enter. Se instalará IronXL. Este método es particularmente útil cuando necesita instalar versiones específicas o cuando trabaja con scripts de implementación para entornos de Azure o AWS .
Install-Package IronXL.Excel
La consola del administrador de paquetes de Visual Studio muestra la instalación del paquete NuGet de IronXL.Excel con confirmaciones de descarga correctas. La consola del administrador de paquetes muestra la instalación correcta de IronXL.Excel versión 2022.11.10251, el proceso de restauración del paquete y las confirmaciones de descarga del 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 hojas de cálculo .
Usar únicamente código C# convencional para analizar archivos con formato CSV requiere una gran cantidad de código voluminoso. A continuación se muestra 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);
}
}
}
}Pero usando IronXL, esto se puede lograr en sólo unas pocas líneas de código, con manejo de errores incorporado y soporte para varios formatos de archivos.
Con IronXL, puedes analizar archivos CSV de XLSX, XLS, TSV y más. La biblioteca también admite la lectura de archivos Excel en aplicaciones ASP.NET y aplicaciones Blazor . En este tutorial, exploraremos las siguientes conversiones:
- Analizar archivo CSV desde archivo XLSX
- Analizar archivo CSV a partir de archivo XLS
- Analizar el archivo CSV a partir del 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, es posible que desee crear archivos Excel mediante programación utilizando IronXL. La imagen a continuación muestra el archivo utilizado para todas las conversiones en este tutorial.
Hoja de cálculo de Excel que muestra una tabla de inventario simple con columnas para artículos, cantidad, precio y total, que contiene datos para hacha, bolígrafo, cargador y auriculares. Figura 6: Datos de Excel de ejemplo que muestran una estructura de inventario básica que se utilizará para demostrar el análisis de 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, incluido 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: ";");
}
}Una vez completada la ejecución, 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 a Excel para su posterior manipulación. La imagen a continuación muestra el resultado del comando anterior: nuestros datos CSV generados. En el archivo de salida, las comillas dobles representan valores en negrita.
Archivo CSV abierto en WordPad que muestra los datos del producto con los encabezados "Artículos", "Cantidad", "Precio" y "Total", incluyendo las entradas para AXE, Pluma, Cargador y Auriculares con sus respectivos valores. Figura 7: Salida CSV generada por el método WorkBook . SaveAsCsv , que muestra los datos convertidos de Excel separados por comas.
¿Cuáles son los pasos para convertir archivos XLS a CSV?
En este ejemplo, veremos cómo convertir archivos XLS al formato CSV. El proceso es idéntico a la conversión de XLSX, lo que demuestra la versatilidad de IronXL en el manejo de diferentes formatos de archivos de Excel .
Primero, crearemos un ejemplo de archivo XLS que podamos convertir al formato CSV. Tenga en cuenta que XLS es un formato de Excel más antiguo, pero IronXL lo maneja sin problemas junto con los formatos modernos:
Hoja de cálculo de Microsoft Excel que muestra un inventario de artículos con columnas para Artículos, Cantidad, Precio y Total, y muestra diversas herramientas como hacha, bolígrafo, cargador, auriculares y sierra con sus respectivas cantidades y totales calculados que suman un total general de 1239. Figura 8: Un archivo de Excel de ejemplo que muestra la estructura de datos del inventario con cálculos automáticos, que se puede analizar mediante bibliotecas CSV de C#.
A continuación, ejecutaremos el siguiente bloque de código para convertir el archivo XLS de ejemplo a un archivo CSV. IronXL preserva la integridad de los datos durante la conversión, incluyendo 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");
}
}Una vez ejecutado el código anterior, se generará un nuevo archivo CSV. Para casos más complejos, puede seleccionar rangos específicos u ordenar los datos antes de exportar .
Ventana de WordPad que muestra un archivo CSV con artículos, cantidades, precios y totales, incluyendo entradas para AXE, Pluma, Cargador, Auriculares y SAW. Ejemplo de archivo CSV abierto en WordPad que muestra datos separados por comas con el formato correcto, con encabezados y varias entradas de producto.
¿Cómo puedo analizar archivos CSV desde el formato TSV?
Las aplicaciones de hojas de cálculo con frecuencia utilizan 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. Los archivos TSV son especialmente útiles cuando los 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 en todo momento.
Comencemos con el ejemplo. Primero, crearemos un archivo TSV con los datos de los estudiantes:
¡ Documento de Microsoft Word que muestra una tabla con datos de estudiantes, incluidos nombres, direcciones de correo electrónico, números de lista (R-NO) y calificaciones con letras, formateados con valores separados por tabulaciones. Ejemplo de datos de estudiantes separados por tabulaciones mostrados en Microsoft Word, que muestra la estructura de un archivo TSV con columnas para NOMBRE, CORREO ELECTRÓNICO, 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");
}
}A continuación se muestra la salida en formato CSV. Observe cómo IronXL ha convertido correctamente los valores separados por tabulaciones en valores separados por comas manteniendo la estructura de los datos:
¡ Documento de WordPad que muestra un archivo CSV con datos de estudiantes, incluidos nombres, correos electrónicos, números de lista y calificaciones formateados con comas como delimitadores. Ejemplo de archivo CSV abierto en WordPad que muestra registros de estudiantes con campos para nombre, correo electrónico, número de lista y calificación separados por comas.
¿Cuáles son los beneficios clave de utilizar IronXL para el análisis de CSV?
Este tutorial demuestra el uso de IronXL para analizar varios formatos de archivos a CSV en C#. La biblioteca proporciona una API consistente en todos los formatos de archivos, lo que facilita trabajar con diferentes versiones y formatos de Excel sin cambiar la estructura del 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:
- Un amplio conjunto de funciones, incluida la manipulación de datos y la exportación de datos a varios formatos, incluidos JSON, XML y HTML.
- Soporte para la gestión de gráficos totalmente compatible con Excel, permitiendo la creación y modificación de gráficos mediante programación.
- Soporte para formato de celda, como alineación de texto, tamaño de fuente, color , bordes y patrones de fondo .
- Capacidad de personalizar los métodos de Excel, incluidos congelar paneles , agregar fórmulas , formato condicional y combinar celdas .
- Compatible con el cifrado de Excel con contraseña tanto para libros de trabajo como para hojas de trabajo individuales.
- Soporte para rangos con nombre y tablas con nombre para una mejor organización de los datos.
- Funciones avanzadas como tamaño automático de filas y columnas , hipervínculos y comentarios .
IronXL también destaca en la optimización del rendimiento. Según recientes mejoras de rendimiento , la biblioteca ahora procesa archivos 40 veces más rápido y utiliza significativamente menos memoria, lo que la hace adecuada para tareas de procesamiento de datos a gran escala. La biblioteca funciona perfectamente en contenedores Docker , en sistemas Linux y en entornos macOS , proporcionando una verdadera compatibilidad multiplataforma.
Para entornos empresariales, IronXL ofrece funciones de seguridad sólidas y cumple con los estándares de la industria. La biblioteca admite VB.NET y C#, lo que la hace versátil para diferentes equipos de desarrollo. Al trabajar con archivos grandes, tenga en cuenta los límites de tamaño de archivo y las estrategias de optimización disponibles.
Consulte las características , los ejemplos de código y la documentación de IronXL para obtener más información sobre cómo funciona IronXL. Puede 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 bases de datos. Descargue IronXL y pruébelo gratis durante 30 días con una clave de licencia de prueba. Para uso en producción, necesitará aplicar una clave de licencia que se puede configurar en su web.config para aplicaciones web. Visite la página de Licencias para obtener más información sobre los términos y condiciones de la licencia, incluidas las opciones para extensiones y actualizaciones de licencia.
¡Compre la suite Iron Suite completa para obtener licencias para las cinco bibliotecas de software Iron por el precio de dos licencias de 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#.







