Cómo convertir XLSX a CSV, JSON, XML y más en C#
IronXL convierte archivos de Excel a múltiples formatos, incluyendo JSON, CSV, XML y formatos antiguos de Excel como XLS, utilizando comandos sencillos de una línea que eliminan el análisis manual.
IronXL convierte cualquier archivo de Excel en varios formatos, proporcionando a los desarrolladores herramientas para trabajar con Excel en C# sin Interop. Ya sea migrando datos entre sistemas, creando exportaciones de datos para aplicaciones web o integrándose 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 demuestra cómo usar IronXL para convertir a XML, CSV, JSON y exportar hojas de cálculo de Excel como conjuntos de datos para integración directa con controles de datos .NET.
Este ejemplo muestra cómo IronXL convierte un libro de Excel existente en un archivo CSV en una línea. Cargue su libro y guárdelo directamente como CSV para comenzar de inmediato.
-
1Install IronXL with NuGet Package Manager
-
2Copie y ejecute este fragmento de código.
IronXL.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv");IronXL.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv")IronXL.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv") -
3Despliegue para probar en su entorno real
Comienza a usar IronXL en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- 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?
Primero, instale IronXL antes de usarlo en sus aplicaciones. IronXL supports .NET MAUI, Blazor, and traditional .NET applications. 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
- Busque en
IronXL.Excel - Instalar
Tutorial de cómo hacerlo
¿Cómo puedo convertir archivos de Excel a diferentes formatos?
IronXL proporciona capacidades de conversión que manejan automáticamente el análisis y formato complejos.
Agrega el siguiente código:
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();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()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 de varias líneas y el escape adecuado. Para las exportaciones JSON, crea una representación estructurada de objetos de tus datos de hoja de cálculo. La conversión a XML preserva el formato de las celdas y los tipos de datos. Finalmente, exporta Worksheet como DataSet para usar con objetos DataGridView, lo cual funciona bien cuando 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.GetWorkSheet("SalesData");
// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");
// Export to JSON
sheet.SaveAsJson("SalesData.json");
// Convert to XML
sheet.SaveAsXml("SalesData.xml");using IronXL;
// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.GetWorkSheet("SalesData");
// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");
// Export to JSON
sheet.SaveAsJson("SalesData.json");
// Convert to XML
sheet.SaveAsXml("SalesData.xml");Imports IronXL
' Load workbook and select specific worksheet
Dim workbook As WorkBook = WorkBook.Load("MultiSheet.xlsx")
Dim sheet As WorkSheet = workbook.GetWorkSheet("SalesData")
' Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter:=";")
' Export to JSON
sheet.SaveAsJson("SalesData.json")
' Convert to XML
sheet.SaveAsXml("SalesData.xml")Imports IronXL
' Load workbook and select specific worksheet
Dim workbook As WorkBook = WorkBook.Load("MultiSheet.xlsx")
Dim sheet As WorkSheet = workbook.GetWorkSheet("SalesData")
' Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter:=";")
' Export to JSON
sheet.SaveAsJson("SalesData.json")
' Convert to XML
sheet.SaveAsXml("SalesData.xml")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 FunctionImports 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 FunctionA 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 aplicaciones que requieren alto rendimiento o que lidian con 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
Documentación de referencia de la API de IronXL
Obtenga más información y comparta cómo fusionar, desfusionar y trabajar con celdas en hojas de cálculo Excel usando la Documentación de Referencia de la API de IronXL.
Preguntas 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.
How does IronXL handle formula evaluation in Excel files?
IronXL can evaluate formulas in Excel files before export, ensuring that the final output includes computed values rather than the formula text.
What are the advantages of using JSON format with IronXL?
The JSON format is advantageous for its integration with web APIs and JavaScript applications. IronXL enables conversion of Excel data to JSON, preserving the structured data representation.
How does IronXL ensure compatibility with older Excel versions?
IronXL can export Excel files to the legacy XLS format, maintaining backward compatibility for applications and systems that require older Excel file support.
Can IronXL be used for automated workflows involving Excel file conversions?
Yes, IronXL supports integration into automated workflows and web services, providing efficient and comprehensive conversion solutions for diverse applications.
Does IronXL support large file handling during Excel conversions?
IronXL is optimized for large files, using efficient memory management to process big spreadsheets during conversions while maintaining performance.
Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.




