Saltar al pie de página
USANDO IRONXL

C# CSV to XLSX: A Complete Developer Guide (en inglés)

La conversión de archivos CSV al formato XLSX permite acceder a potentes funciones de hoja de cálculo que los archivos de valores separados por comas simplemente no ofrecen. Si bien los archivos CSV son excelentes para almacenar datos sin procesar, el formato XLSX de Excel admite fórmulas, múltiples hojas de cálculo, gráficos y el formato enriquecido que exigen las aplicaciones modernas. Independientemente de si vienes de otro entorno como Java o eres un desarrollador .NET experimentado, comprender esta transición es esencial.

IronXL es una biblioteca .NET que hace que esta conversión sea notablemente sencilla. Con solo unas pocas líneas de código, los desarrolladores pueden convertir CSV a XLSX (o incluso al antiguo formato XLS) sin instalar Microsoft Office ni depender directamente del SDK Open XML. Puede encontrar documentación extensa aquí para explorar funciones avanzadas. Comience una prueba gratuita para seguir los ejemplos de código en esta guía.

¿Cómo convertir archivos CSV al formato XLSX en C#?

Para convertir un archivo CSV a un archivo XLSX de Excel es necesario cargar los datos de origen y guardarlos en el nuevo formato. IronXL maneja esta conversión con el método WorkBook.LoadCSV, que analiza valores separados por comas y crea un libro de trabajo listo para exportar.

using IronXL;
// Standard entry point using args for file paths
static void Main(string[] args)
{
    // Load CSV file and convert to XLSX format
    WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
    // Access the default worksheet containing CSV data
    WorkSheet worksheet = workbook.DefaultWorkSheet;
    // Save as Excel XLSX file
    workbook.SaveAs("output.xlsx");
}
using IronXL;
// Standard entry point using args for file paths
static void Main(string[] args)
{
    // Load CSV file and convert to XLSX format
    WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
    // Access the default worksheet containing CSV data
    WorkSheet worksheet = workbook.DefaultWorkSheet;
    // Save as Excel XLSX file
    workbook.SaveAs("output.xlsx");
}
Imports IronXL

' Standard entry point using args for file paths
Sub Main(args As String())
    ' Load CSV file and convert to XLSX format
    Dim workbook As WorkBook = WorkBook.LoadCSV("data.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",")
    ' Access the default worksheet containing CSV data
    Dim worksheet As WorkSheet = workbook.DefaultWorkSheet
    ' Save as Excel XLSX file
    workbook.SaveAs("output.xlsx")
End Sub
$vbLabelText   $csharpLabel

Resultado

Conversión de CSV a XLSX de C#: Guía completa para desarrolladores: Imagen 1: Ejemplo de salida para la conversión de CSV a Excel

El método LoadCSV acepta tres parámetros clave: el nombre del archivo que contiene los datos CSV, el formato de Excel de destino y el carácter delimitador utilizado en el archivo de origen. Este método conserva todos los datos de cadena y los valores numéricos de la hoja CSV original, creando un archivo XLSX correctamente estructurado.

La clase WorkBook sirve como centro para todas las operaciones de la hoja de cálculo. Una vez cargados, los datos CSV se vuelven accesibles a través de hojas de cálculo, lo que permite una mayor manipulación antes de guardar el archivo final de Excel.

¿Cuáles son los beneficios de convertir formato CSV a Excel?

El formato XLSX ofrece ventajas significativas sobre el formato CSV simple para la gestión de datos:

  • Varias hojas de trabajo : los archivos de Excel admiten varias hojas dentro de un solo libro, lo que permite un almacenamiento de datos organizado que los archivos CSV no pueden igualar.
  • Compatibilidad con fórmulas : escriba cálculos complejos, agregaciones y lógica condicional directamente en las celdas.
  • Gráficos visuales : cree gráficos de barras, gráficos de líneas, gráficos circulares y otras visualizaciones a partir de sus datos.
  • Formato de celda : controle fuentes, colores, bordes y formatos de números para documentos profesionales
  • Validación de datos : restrinja la entrada de celdas a valores o rangos específicos

Estas capacidades hacen que el formato Excel sea ideal para informes, paneles y cualquier aplicación que requiera más que el almacenamiento de datos sin procesar.

¿Cómo se maneja la codificación CSV durante la conversión?

En las aplicaciones modernas, a menudo es necesario descargar un CSV desde un servidor remoto. Puede utilizar un cliente HttpClient para obtener datos a través de https y luego cargar esa transmisión directamente en IronXL. El manejo correcto de la codificación garantiza que los caracteres especiales y el texto internacional permanezcan intactos para el usuario final.

using IronXL;
using System.Text;
// Load CSV with specific encoding for international characters
var workbook = WorkBook.LoadCSV("international-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");
// The workbook now contains properly encoded data
WorkSheet sheet = workbook.DefaultWorkSheet;
// Save the converted Excel file
workbook.SaveAs("encoded-output.xlsx");
using IronXL;
using System.Text;
// Load CSV with specific encoding for international characters
var workbook = WorkBook.LoadCSV("international-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");
// The workbook now contains properly encoded data
WorkSheet sheet = workbook.DefaultWorkSheet;
// Save the converted Excel file
workbook.SaveAs("encoded-output.xlsx");
Imports IronXL
Imports System.Text

' Load CSV with specific encoding for international characters
Dim workbook = WorkBook.LoadCSV("international-data.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",")

' The workbook now contains properly encoded data
Dim sheet As WorkSheet = workbook.DefaultWorkSheet

' Save the converted Excel file
workbook.SaveAs("encoded-output.xlsx")
$vbLabelText   $csharpLabel

Archivo XLSX de salida

¡ CSV a XLSX de C#: Guía completa para desarrolladores: Imagen 2: CSV a XLSX con toda la codificación gestionada

IronXL detecta automáticamente los formatos de codificación más comunes, incluido UTF-8, lo que permite que la mayoría de las conversiones sean fluidas. Para archivos con codificación no estándar, la biblioteca proporciona opciones para especificar el formato exacto durante la operación de carga.

¿Cómo puedes agregar gráficos después de convertir datos CSV?

Una vez que existen datos CSV en un libro de Excel, IronXL permite crear gráficos directamente a partir de esos datos. Los gráficos transforman números sin procesar en información visual sin necesidad de instalar Microsoft Excel.

using IronXL;
using IronXL.Drawing.Charts;
// Load CSV and convert to Excel format
WorkBook workbook = WorkBook.LoadCSV("sales-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Create a column chart from the converted CSV data
IChart chart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10);
// Add data series from the worksheet
IChartSeries series = chart.AddSeries("A2:A10", "B2:B10");
series.Title = "Monthly Sales";
// Configure chart appearance
chart.SetTitle("Sales Performance");
chart.SetLegendPosition(LegendPosition.Bottom);
// Plot the chart and save
chart.Plot();
workbook.SaveAs("sales-with-chart.xlsx");
using IronXL;
using IronXL.Drawing.Charts;
// Load CSV and convert to Excel format
WorkBook workbook = WorkBook.LoadCSV("sales-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Create a column chart from the converted CSV data
IChart chart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10);
// Add data series from the worksheet
IChartSeries series = chart.AddSeries("A2:A10", "B2:B10");
series.Title = "Monthly Sales";
// Configure chart appearance
chart.SetTitle("Sales Performance");
chart.SetLegendPosition(LegendPosition.Bottom);
// Plot the chart and save
chart.Plot();
workbook.SaveAs("sales-with-chart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts

' Load CSV and convert to Excel format
Dim workbook As WorkBook = WorkBook.LoadCSV("sales-data.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",")
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

' Create a column chart from the converted CSV data
Dim chart As IChart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10)

' Add data series from the worksheet
Dim series As IChartSeries = chart.AddSeries("A2:A10", "B2:B10")
series.Title = "Monthly Sales"

' Configure chart appearance
chart.SetTitle("Sales Performance")
chart.SetLegendPosition(LegendPosition.Bottom)

' Plot the chart and save
chart.Plot()
workbook.SaveAs("sales-with-chart.xlsx")
$vbLabelText   $csharpLabel

Resultado

C# CSV a XLSX: Guía completa para desarrolladores: Imagen 3: Resultado para convertir un archivo CSV en un archivo Excel con un gráfico

El método CreateChart acepta el tipo de gráfico y las coordenadas de posicionamiento. El método AddSeries vincula los rangos de celdas de la hoja de cálculo a los ejes del gráfico, creando visualizaciones dinámicas que se actualizan cuando cambian los datos subyacentes.

¿Cómo convertir CSV a DataTable y luego a Excel?

Para escenarios que requieren manipulación de datos antes de la exportación, la conversión de datos CSV a través de una DataTable proporciona flexibilidad. Este enfoque permite a los desarrolladores filtrar, transformar o validar datos durante el proceso de conversión.

using IronXL;
using System.Data;
// Load CSV file into workbook
WorkBook workbook = WorkBook.LoadCSV("input.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");
// Convert worksheet to DataTable for manipulation
DataTable table = workbook.DefaultWorkSheet.ToDataTable(true);
// Create new workbook from modified data
WorkBook outputWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet outputSheet = outputWorkbook.CreateWorkSheet("Processed Data");
// Import DataTable back to Excel
outputSheet.LoadFromDataTable(table, 0);
// Save the final XLSX file
outputWorkbook.SaveAs("processed-output.xlsx");
using IronXL;
using System.Data;
// Load CSV file into workbook
WorkBook workbook = WorkBook.LoadCSV("input.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");
// Convert worksheet to DataTable for manipulation
DataTable table = workbook.DefaultWorkSheet.ToDataTable(true);
// Create new workbook from modified data
WorkBook outputWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet outputSheet = outputWorkbook.CreateWorkSheet("Processed Data");
// Import DataTable back to Excel
outputSheet.LoadFromDataTable(table, 0);
// Save the final XLSX file
outputWorkbook.SaveAs("processed-output.xlsx");
Imports IronXL
Imports System.Data

' Load CSV file into workbook
Dim workbook As WorkBook = WorkBook.LoadCSV("input.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",")

' Convert worksheet to DataTable for manipulation
Dim table As DataTable = workbook.DefaultWorkSheet.ToDataTable(True)

' Create new workbook from modified data
Dim outputWorkbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim outputSheet As WorkSheet = outputWorkbook.CreateWorkSheet("Processed Data")

' Import DataTable back to Excel
outputSheet.LoadFromDataTable(table, 0)

' Save the final XLSX file
outputWorkbook.SaveAs("processed-output.xlsx")
$vbLabelText   $csharpLabel

Resultado

C# CSV a XLSX: Guía completa para desarrolladores: Imagen 4 - Salida de CSV a DataTable a XLSX

Este código de muestra demuestra la capacidad de conversión bidireccional. El método ToDataTable exporta datos de la hoja de cálculo a una DataTable .NET, mientras que LoadFromDataTable importa esos datos a una nueva hoja de cálculo de Excel.

Conclusión

La conversión de CSV de C# a XLSX con IronXL agiliza lo que de otro modo requeriría un código complejo. Ya sea que necesite guardar datos CSV en un formato más robusto, solicitarle a un usuario una ruta de archivo o integrarlo con una API web, IronXL se encarga del trabajo pesado.

Las capacidades clave cubiertas en esta guía incluyen la conversión básica de CSV a Excel, el manejo de codificación para documentos internacionales, la creación de gráficos a partir de datos importados y la integración de DataTable para escenarios de procesamiento avanzados.

IronXL es compatible con implementaciones de Windows, Linux, macOS, Docker y Azure, lo que lo hace adecuado para cualquier entorno .NET. La biblioteca funciona con aplicaciones .NET Framework, .NET Core y .NET 5+.

¿Estás listo para convertir archivos CSV en tus propios proyectos? Compre una licencia de IronXL para la implementación de producción o descargue una versión de prueba gratuita para probar estas funciones en su entorno de desarrollo.

Empiece con IronXL ahora.
green arrow pointer

Preguntas Frecuentes

¿Por qué debería convertir archivos CSV a XLSX usando IronXL?

Convertir archivos CSV a XLSX con IronXL le permite aprovechar las funciones avanzadas de Excel, como fórmulas, hojas de cálculo múltiples y gráficos, que no son compatibles con los archivos CSV. Esta conversión mejora la presentación y el análisis de sus datos.

¿Puede IronXL manejar archivos CSV grandes al convertir a XLSX?

Sí, IronXL está diseñado para gestionar eficientemente archivos CSV de gran tamaño. Garantiza un procesamiento y una conversión fluidos al formato XLSX, preservando la integridad y el rendimiento de los datos.

¿Es necesario Microsoft Office para convertir CSV a XLSX usando IronXL?

No, IronXL no requiere Microsoft Office para convertir archivos CSV a XLSX. Funciona de forma independiente, lo que permite trabajar con archivos de Excel sin necesidad de software adicional.

¿Cómo IronXL conserva los tipos de datos durante la conversión de CSV a XLSX?

IronXL mantiene los tipos de datos originales durante el proceso de conversión, lo que garantiza que los formatos numéricos, de fecha y de texto se conserven con precisión en el archivo XLSX resultante.

¿Puedo agregar gráficos a mis archivos XLSX usando IronXL?

Sí, IronXL permite añadir gráficos a sus archivos XLSX. Esta función le permite representar visualmente los datos para obtener mejores perspectivas y presentaciones.

¿IronXL admite varias hojas de trabajo en un archivo XLSX?

Por supuesto, IronXL le permite trabajar con múltiples hojas de trabajo dentro de un solo archivo XLSX, lo que proporciona flexibilidad para organizar sus datos según sea necesario.

¿Es posible automatizar la conversión de CSV a XLSX con IronXL?

Sí, IronXL se puede integrar en sus aplicaciones para automatizar la conversión de CSV a XLSX, agilizando su flujo de trabajo y ahorrando tiempo.

¿Qué lenguajes de programación admite IronXL para la conversión de CSV a XLSX?

IronXL admite principalmente C# para la conversión de CSV a XLSX, lo que lo hace ideal para desarrolladores de .NET que buscan integrar la funcionalidad de Excel en sus aplicaciones.

¿IronXL ofrece alguna opción de formato de datos durante la conversión?

Sí, IronXL ofrece varias opciones de formato de datos, lo que le permite personalizar la apariencia de sus archivos XLSX aplicando estilos, fuentes y colores.

¿Puede IronXL convertir archivos CSV originados en diferentes plataformas?

IronXL es versátil y puede manejar archivos CSV de varias plataformas, lo que garantiza una conversión perfecta a XLSX independientemente del origen del archivo.

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