Cómo Convertir XLSX a CSV, JSON, XML y Más en C# con IronXL
IronXL convierte archivos de Excel a múltiples formatos, incluidos JSON, CSV, XML y formatos antiguos de Excel como XLS, mediante sencillos comandos de una línea. Esta herramienta le permite leer archivos Excel y exportarlos a los formatos que necesite, eliminando el análisis sintáctico manual al modificar Excel en C#.
IronXL convierte cualquier archivo de Excel a varios formatos, proporcionando a los desarrolladores herramientas para trabajar con Excel en C# sin Interop. Ya se trate de migrar datos entre sistemas, crear exportaciones de datos para aplicaciones web o integrarse con sistemas heredados, IronXL simplifica el proceso de conversión.
Estos formatos incluyen: JSON para las API web modernas, CSV para el intercambio de datos, XML para el almacenamiento de datos estructurados y formatos antiguos de Excel como XLS para la compatibilidad con versiones anteriores. Cada formato sirve para casos de uso específicos: CSV funciona bien para las importaciones de bases de datos, JSON se integra con las API REST y XML mantiene las relaciones jerárquicas de datos.
Este artículo muestra cómo utilizar IronXL para convertir a XML, CSV, JSON y exportar hojas de cálculo de Excel como conjuntos de datos para la integración directa con controles de datos .NET.
Inicio rápido: Convierte un archivo XLSX a CSV con una línea
Este ejemplo muestra cómo IronXL convierte un libro de Excel existente en un archivo CSV en una sola línea. Cargue su libro de trabajo y guárdelo directamente como CSV para comenzar de inmediato.
-
Instala IronXL con el Administrador de Paquetes NuGet
PM > Install-Package IronXL.Excel -
Copie y ejecute este fragmento de código.
IronXL.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv"); -
Despliegue para probar en su entorno real
Comienza a usar IronXL en tu proyecto hoy mismo con una prueba gratuita
- Descargue la biblioteca C# para convertir XLSX a CSV
- Cargar una hoja de cálculo XLSX de Excel existente
- Acceder o modificar el libro de trabajo
- Exportar a archivo CSV u otros formatos, incluyendo JSON, TSV y XML
- Revisar los archivos de salida y aplicar un procesamiento adicional
Paso 1
¿Cómo instalo la biblioteca IronXL?
En primer lugar, instale IronXL antes de utilizarlo en sus aplicaciones. IronXL es compatible con .NET MAUI, Blazor y las aplicaciones .NET tradicionales. Utilice cualquiera de estos métodos de instalación:
Descargar: https://ironsoftware.com/csharp/excel/docs/
O utilice el gestor de paquetes NuGet:
- Haz clic derecho en el nombre de la Solución en el Explorador de Soluciones
- Haz clic en Administrar paquetes de NuGet
- Busca IronXL.Excel
- Instalar
Install-Package IronXL.Excel
Tutorial de cómo hacerlo
¿Cómo puedo convertir archivos de Excel a diferentes formatos?
IronXL ofrece capacidades de conversión que gestionan automáticamente el análisis sintáctico y el formateo complejos.
Agrega el siguiente código:
:path=/static-assets/excel/content-code-examples/how-to/csharp-convert-xlsx-csv-convert.cs
using IronXL;
// Load an existing Excel workbook
WorkBook workbook = WorkBook.Load("Normal_Excel_File.xlsx");
// Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx";
// Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls");
workbook.SaveAs("XLSX_Export.xlsx");
workbook.SaveAsCsv("CSV_Export.csv");
workbook.SaveAsJson("JSON_Export.json");
workbook.SaveAsXml("XML_Export.xml");
// Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
System.Data.DataSet dataSet = workbook.ToDataSet();
Imports IronXL
' Load an existing Excel workbook
Dim workbook As WorkBook = WorkBook.Load("Normal_Excel_File.xlsx")
' Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx"
' Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls")
workbook.SaveAs("XLSX_Export.xlsx")
workbook.SaveAsCsv("CSV_Export.csv")
workbook.SaveAsJson("JSON_Export.json")
workbook.SaveAsXml("XML_Export.xml")
' Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
Dim dataSet As System.Data.DataSet = workbook.ToDataSet()
El código anterior carga un archivo XLSX, añade un título y, a continuación, lo convierte a varios formatos. Al convertir a CSV, IronXL maneja caracteres especiales, celdas multilínea y escapes adecuados. Para las exportaciones JSON, crea una representación estructurada de objetos de tus datos de hoja de cálculo. La conversión XML conserva el formato de las celdas y los tipos de datos. Por último, exporta la hoja de cálculo como un DataSet para su uso con objetos DataGridView, lo que funciona bien cuando se trabaja con DataTables.
He aquí otro ejemplo que muestra cómo convertir hojas de cálculo específicas con opciones personalizadas:
using IronXL;
// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];
// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");
// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
PreserveFormatting = true,
IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);
// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
using IronXL;
// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];
// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");
// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
PreserveFormatting = true,
IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);
// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
Imports IronXL
' Load workbook and select specific worksheet
Dim workbook As WorkBook = WorkBook.Load("MultiSheet.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets("SalesData")
' Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter:=";")
' Export to JSON with formatting preserved
Dim jsonOptions As New JsonSaveOptions With {
.PreserveFormatting = True,
.IncludeHeaders = True
}
sheet.SaveAsJson("SalesData.json", jsonOptions)
' Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport")
Para escenarios avanzados, se puede exportar a múltiples formatos simultáneamente o manejar archivos de gran tamaño de manera eficiente:
using IronXL;
using System.Threading.Tasks;
// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
WorkBook workbook = WorkBook.Load(inputPath);
// Parallel export to multiple formats
var tasks = new[]
{
Task.Run(() => workbook.SaveAsCsv("output.csv")),
Task.Run(() => workbook.SaveAsJson("output.json")),
Task.Run(() => workbook.SaveAsXml("output.xml"))
};
await Task.WhenAll(tasks);
}
using IronXL;
using System.Threading.Tasks;
// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
WorkBook workbook = WorkBook.Load(inputPath);
// Parallel export to multiple formats
var tasks = new[]
{
Task.Run(() => workbook.SaveAsCsv("output.csv")),
Task.Run(() => workbook.SaveAsJson("output.json")),
Task.Run(() => workbook.SaveAsXml("output.xml"))
};
await Task.WhenAll(tasks);
}
Imports IronXL
Imports System.Threading.Tasks
' Async conversion for large files
Public Async Function ConvertLargeFileAsync(inputPath As String) As Task
Dim workbook As WorkBook = WorkBook.Load(inputPath)
' Parallel export to multiple formats
Dim tasks = New Task() {
Task.Run(Sub() workbook.SaveAsCsv("output.csv")),
Task.Run(Sub() workbook.SaveAsJson("output.json")),
Task.Run(Sub() workbook.SaveAsXml("output.xml"))
}
Await Task.WhenAll(tasks)
End Function
A continuación se muestran los distintos archivos exportados.
Cada formato de conversión sirve para diferentes propósitos en las aplicaciones modernas. Los archivos CSV funcionan bien para importar datos a bases de datos o herramientas de análisis de datos. El formato JSON es adecuado para API web y aplicaciones JavaScript. XML mantiene la estructura de los datos y se utiliza habitualmente en sistemas empresariales. El formato XLS heredado garantiza la compatibilidad con versiones anteriores de Excel y sistemas que requieran compatibilidad con versiones anteriores.
Al trabajar con estas conversiones, IronXL maneja muchas complejidades automáticamente:
- Codificación de caracteres: Codificación UTF-8 adecuada para caracteres internacionales
- Conservación de tipos de datos: Mantiene el formato numérico, de fecha y de texto
- Evaluación de fórmulas: Calcula los resultados de las fórmulas antes de exportarlas
- Large File Handling: uso eficiente de la memoria para grandes hojas de cálculo
- Manejo de errores: Gestión de archivos corruptos o protegidos
Para las aplicaciones que requieren un alto rendimiento o que se enfrentan a límites de tamaño de archivo, IronXL ofrece opciones de optimización. Puede integrar estas conversiones en flujos de trabajo automatizados, servicios web o aplicaciones de escritorio.
Acceso rápido a la biblioteca
Obtenga más información y comparta cómo fusionar, separar y trabajar con celdas en hojas de cálculo de Excel utilizando la práctica documentación de referencia de API de IronXL.
Documentación de referencia de la API de IronXLPreguntas Frecuentes
¿Cómo convierto XLSX a CSV en C# sin tener Excel instalado?
IronXL le permite convertir XLSX a CSV con una sola línea de código: IronXL.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv"). Esto funciona sin necesidad de tener Microsoft Excel o Interop instalado en su sistema.
¿A qué formatos de archivo puedo convertir archivos Excel con C#?
IronXL admite la conversión de archivos de Excel a múltiples formatos, incluidos CSV, JSON, XML, TSV y formatos de Excel más antiguos como XLS. Cada formato es ideal para diferentes casos de uso: CSV para importaciones de bases de datos, JSON para API REST y XML para mantener estructuras de datos jerárquicas.
¿Cómo se instala la biblioteca de conversión de Excel para C#?
Instale IronXL utilizando el gestor de paquetes NuGet buscando 'IronXL.Excel' o a través de la consola del gestor de paquetes con el comando 'Install-Package IronXL'. La biblioteca es compatible con .NET MAUI, Blazor y las aplicaciones .NET tradicionales.
¿Puedo convertir Excel a JSON para utilizarlo con API web?
Sí, IronXL proporciona conversión incorporada de Excel a formato JSON, lo que facilita la integración de datos de Excel con modernas API web y servicios REST. La conversión maneja estructuras de datos complejas de forma automática.
¿La conversión a Excel maneja caracteres especiales y formatos?
IronXL maneja automáticamente caracteres especiales, celdas multilínea y escapes adecuados al convertir archivos de Excel a formatos como CSV. Esto elimina la necesidad de parseo manual o correcciones de formato.

