Cómo exportar datos de Excel usando C#

C# Exportar a Excel: Guía completa para desarrolladores

This article was translated from English: Does it need improvement?
Translated
View the article in English

Exporta archivos Excel a múltiples formatos en C# usando IronXL, incluyendo .xlsx, .xls, .csv, .xml, y .json sin dependencias de Microsoft Office. La biblioteca proporciona métodos de una línea para cada formato de exportación.

Inicio rápido: Exportar Workbook a JSON en una línea

Cargue su archivo Excel existente y expórtelo a JSON en una sola línea con la API de IronXL. Empieza a exportar archivos Excel sin escribir código repetitivo.

  1. Instala IronXL con el Administrador de Paquetes NuGet

    PM > Install-Package IronXL.Excel
  2. Copie y ejecute este fragmento de código.

    WorkBook workbook = WorkBook.Load("data.xlsx"); workbook.SaveAsJson("output.json");
  3. Despliegue para probar en su entorno real

    Comienza a usar IronXL en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer

Paso 1

¿Cómo instalar IronXL para exportar a Excel?

IronXL proporciona un enfoque directo para trabajar con archivos Excel en aplicaciones .NET. Descargue el DLL de IronXL directamente o instale a través de NuGet para desarrollo y pruebas.

Install-Package IronXL.Excel

Después de la instalación, añade la referencia IronXL para acceder a todas las características de manipulación de Excel a través del espacio de nombres IronXL. La biblioteca admite aplicaciones .NET Framework, .NET Core y .NET 5+, lo que la hace compatible con los entornos de desarrollo modernos. Para escenarios de despliegue específicos, consulte las guías sobre despliegue en Azure o configuración en Docker.


Tutorial de cómo hacerlo

¿Qué formatos de exportación de Excel admite C#?

IronXL permite exportar datos de libros de Excel a varios formatos de archivo. La biblioteca admite la exportación a:

  • Formatos de Excel: .xlsx (moderno) y .xls (herencia)
  • Formatos de intercambio de datos: .csv, .json, y .xml
  • Valores separados por tabulaciones: .tsv

Cada formato sirve para casos de uso específicos: CSV para importaciones de bases de datos, JSON para APIs web, y XML para integración de sistemas empresariales. Exporte estos formatos a sus respectivos flujos de salida para integrarlos con otras aplicaciones. La biblioteca gestiona internamente todas las conversiones de tipo de archivo hoja de cálculo, preservando la integridad de los datos durante todo el proceso.


¿Cómo exportar Excel a XLSX en C#?

Convertir entre formatos de Excel es sencillo con IronXL. El siguiente ejemplo muestra cómo cargar un archivo .xls antiguo y guardarlo como un archivo .xlsx moderno:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xlsx.cs
using IronXL;

// Import .xls, .csv, or .tsv file
WorkBook workbook = WorkBook.Load("XlsFile.xls");

// Export as .xlsx file
workbook.SaveAs("newFile.xlsx");
Imports IronXL

' Import .xls, .csv, or .tsv file
Private workbook As WorkBook = WorkBook.Load("XlsFile.xls")

' Export as .xlsx file
workbook.SaveAs("newFile.xlsx")
$vbLabelText   $csharpLabel

El método SaveAs detecta automáticamente el formato deseado basado en la extensión del archivo. Cuando se convierte de .xls a .xlsx, el proceso conserva todas las hojas de trabajo, las fórmulas, el formato y los tipos de datos. Esta conversión es particularmente útil cuando se modernizan archivos Excel heredados para compatibilidad con versiones más recientes de Office.

¿Cómo exportar Excel a XLSX Stream?

Usa ToXlsxStream para exportar el documento a un flujo XLSX para integración con otras aplicaciones. Este enfoque es esencial cuando se trabaja con servicios de almacenamiento en la nube o cuando se procesan datos de Excel en memoria sin crear archivos temporales:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xlsx-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("xlsFile.xlsx");

// Exports the workbook to a XLSX stream.
var stream = workbook.ToXlsxStream();
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("xlsFile.xlsx")

' Exports the workbook to a XLSX stream.
Private stream = workbook.ToXlsxStream()
$vbLabelText   $csharpLabel

¿Cómo exportar Excel al formato XLS?

Sistemas heredados a veces requieren el formato .xls antiguo. IronXL se encarga de esta conversión manteniendo la compatibilidad con versiones anteriores:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xls.cs
using IronXL;

// Import .xlsx, .csv or .tsv file
WorkBook workbook = WorkBook.Load("XlsxFile.xlsx");

// Export as .xls file
workbook.SaveAs("newFile.xls");
Imports IronXL

' Import .xlsx, .csv or .tsv file
Private workbook As WorkBook = WorkBook.Load("XlsxFile.xlsx")

' Export as .xls file
workbook.SaveAs("newFile.xls")
$vbLabelText   $csharpLabel

Esta conversión mantiene la compatibilidad con las versiones de Excel 97-2003. El método SaveAs maneja la conversión de formato internamente, asegurando la integridad de los datos mientras se adapta a las limitaciones del formato .xls, como el límite de 65,536 filas por hoja de trabajo. Para aplicaciones que necesitan gestionar hojas de trabajo con conjuntos de datos más grandes, considera mantener el formato moderno .xlsx.

¿Cuándo debo exportar a un flujo XLS?

IronXL también admite la exportación como flujo XLS. Esto es especialmente útil cuando se integra con sistemas empresariales heredados que requieren el formato XLS pero funcionan a través de API en lugar de sistemas de archivos:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xls-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("xlsxFile.xlsx");

// Exports the workbook to a XLS stream.
var stream = workbook.ToXlsStream();
Imports IronXL

' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("xlsxFile.xlsx")

' Exports the workbook to a XLS stream.
Dim stream = workbook.ToXlsStream()
$vbLabelText   $csharpLabel

¿Cómo convertir Excel a CSV en C#?

La exportación CSV es esencial para el intercambio de datos entre diferentes sistemas. IronXL proporciona un método dedicado para la conversión de CSV que maneja los libros de trabajo de varias hojas de forma inteligente:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-csv.cs
using IronXL;

//  Import .xlsx or xls file
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Export as .csv file
workbook.SaveAsCsv("newFile.csv");
Imports IronXL

' Import .xlsx or .xls file
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Export as .csv file
workbook.SaveAsCsv("newFile.csv")
$vbLabelText   $csharpLabel

Al exportar libros con múltiples hojas, IronXL crea archivos CSV separados para cada hoja de trabajo. Para un libro con tres hojas llamadas "Hoja1", "Hoja2", y "Hoja3", la exportación genera:

Conversión de tres archivos CSV desde Excel: NewCsvFile.Sheet1.csv, Sheet2.csv, y Sheet3.csv con iconos de Excel

Varios archivos CSV generados a partir de un libro de Excel con tres hojas de trabajo, donde cada una se exporta como un archivo CSV separado

El método SaveAsCsv preserva los valores de los datos al eliminar formato, fórmulas y otras características específicas de Excel. Esto hace que CSV sea ideal para importar datos a bases de datos o procesarlos con otras aplicaciones. Para una manipulación de datos más compleja antes de la exportación, explore la guía sobre convertir DataTable a CSV.

¿Cómo exportar una hoja de cálculo a un flujo CSV?

Para convertir solo una hoja de trabajo especificada dentro del libro de trabajo a un flujo CSV, utiliza el método ToCsvStream con un entero que indique el índice de la hoja de trabajo. Este enfoque es útil cuando se procesan hojas específicas de forma independiente:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-csv-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the first sheet of the workbook to a CSV stream
var stream = workbook.ToCsvStream(0);
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the first sheet of the workbook to a CSV stream
Private stream = workbook.ToCsvStream(0)
$vbLabelText   $csharpLabel

¿Cómo exportar todas las hojas de cálculo a flujos CSV?

IronXL soporta la conversión de todo el libro de trabajo en flujos CSV usando el método ToCsvStreams. Esto devuelve una colección de secuencias, una para cada hoja de cálculo:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-csv-streams.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the entire workbook to a CSV stream
var workBookStream = workbook.ToCsvStreams();
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the entire workbook to a CSV stream
Private workBookStream = workbook.ToCsvStreams()
$vbLabelText   $csharpLabel

¿Cómo exportar datos de Excel a XML?

La exportación XML permite el intercambio estructurado de datos con sistemas empresariales. IronXL simplifica este proceso a la vez que mantiene la estructura jerárquica de sus datos de hoja de cálculo:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xml.cs
using IronXL;

// Import .xlsx, .xls or .csv file
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Export as .xml file
workbook.SaveAsXml("newFile.xml");
Imports IronXL

' Import .xlsx, .xls or .csv file
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Export as .xml file
workbook.SaveAsXml("newFile.xml")
$vbLabelText   $csharpLabel

El método SaveAsXml convierte cada hoja de trabajo en un archivo XML separado con una representación estructurada de los datos de la hoja de cálculo. Esto incluye:

  • Valores de celdas y tipos de datos
  • Posicionamiento de filas y columnas
  • Información estructural básica

La exportación XML es especialmente valiosa para integrar datos de Excel con servicios web o sistemas que requieren formatos de datos estructurados. Para situaciones de conversión de Excel más avanzadas, consulte la guía completa sobre conversión de XLSX a varios formatos.

¿Cuándo debo utilizar la exportación de secuencias XML?

Para exportar una hoja de trabajo especificada a un flujo XML, usa el método ToXmlStream con un parámetro entero que representa el índice de la hoja de trabajo. Es ideal para escenarios de procesamiento de datos en tiempo real:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xml-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Converts the first worksheet to a XML Stream
var stream = workbook.ToXmlStream(0);
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Converts the first worksheet to a XML Stream
Private stream = workbook.ToXmlStream(0)
$vbLabelText   $csharpLabel

¿Cómo exportar varias hojas de cálculo a flujos XML?

Para exportar todo el libro de trabajo como flujos XML, usa el método ToXmlStreams. Este enfoque mantiene la separación entre las hojas de trabajo al tiempo que proporciona acceso programático a cada una de ellas:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xml-streams.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the entire workbook to a XML stream
var workBookStream = workbook.ToXmlStreams();
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the entire workbook to a XML stream
Private workBookStream = workbook.ToXmlStreams()
$vbLabelText   $csharpLabel

¿Cómo generar JSON a partir de archivos Excel?

Las aplicaciones web modernas a menudo requieren el formato JSON para el intercambio de datos. IronXL ofrece una función de exportación directa a JSON que convierte los datos de Excel en estructuras JSON aptas para la web:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-json.cs
using IronXL;

// Import Excel file
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Export as JSON file
workbook.SaveAsJson("newFile.json");
Imports IronXL

' Import Excel file
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Export as JSON file
workbook.SaveAsJson("newFile.json")
$vbLabelText   $csharpLabel

El método SaveAsJson crea archivos JSON con estructuras basadas en arrays que representan los datos de la hoja de cálculo. Cada hoja de trabajo se exporta como un archivo JSON separado, lo que facilita:

  • Integrarse con APIs RESTful
  • Procesar datos en aplicaciones JavaScript
  • Almacenar datos de hojas de cálculo en bases de datos NoSQL

Para escenarios avanzados, combine la exportación JSON con las funciones de manipulación de datos de IronXL para transformar los datos antes de exportarlos. Esto resulta especialmente útil cuando se trabaja con aplicaciones web ASP.NET que necesitan servir datos de Excel a través de API web.

¿Cómo exportar una hoja de cálculo como flujo JSON?

Para convertir una hoja de trabajo especificada a un flujo JSON, usa el método ToJsonStream con un entero como índice de la hoja de trabajo. Esto permite la transmisión directa de la respuesta de la API sin archivos intermedios:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-json-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the first sheet of the workbook to a JSON stream
var stream = workbook.ToJsonStream(0);
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the first sheet of the workbook to a JSON stream
Private stream = workbook.ToJsonStream(0)
$vbLabelText   $csharpLabel

¿Cuándo exportar todo el libro de trabajo como secuencias JSON?

Para convertir todo el libro de trabajo a flujos JSON, usa el método ToJsonStreams. Este enfoque es beneficioso a la hora de mantener la estructura de la hoja de cálculo en su salida JSON:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-json-streams.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the entire workbook to a JSON stream
var workBookStream = workbook.ToJsonStreams();
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the entire workbook to a JSON stream
Private workBookStream = workbook.ToJsonStreams()
$vbLabelText   $csharpLabel

¿Qué recursos ayudan con el desarrollo de exportaciones de Excel?

Documentation related to ¿Qué recursos ayudan con el desarrollo de exportaciones de Excel?

Documentación de referencia de la API

Explore la API completa de IronXL, incluidos todos los espacios de nombres, clases, métodos y propiedades para la manipulación avanzada de Excel.

Ver referencia de API

¿Listo para exportar archivos de Excel?

IronXL simplifica las operaciones de exportación de archivos de Excel en aplicaciones C#. Ya sea convirtiendo entre formatos de Excel o exportando a formatos de intercambio de datos como CSV, JSON, o XML, la biblioteca proporciona métodos intuitivos que manejan automáticamente conversiones complejas.

Comience a implementar la funcionalidad de exportación de Excel hoy mismo con una prueba gratuita de IronXL. Para implementaciones de producción, explore opciones de licencia flexibles diseñadas para equipos de todos los tamaños.

Empiece con IronXL ahora.
green arrow pointer

Preguntas Frecuentes

¿Cómo puedo exportar archivos Excel a diferentes formatos en C# sin Microsoft Office?

IronXL permite exportar archivos de Excel a múltiples formatos, incluidos XLSX, XLS, CSV, XML y JSON, sin necesidad de dependencias de Microsoft Office. La biblioteca proporciona métodos sencillos de una línea para cada formato de exportación, lo que facilita la conversión entre diferentes tipos de archivos mediante programación.

¿Cuál es la forma más sencilla de convertir un archivo Excel a JSON en C#?

Con IronXL, puede convertir un archivo de Excel a JSON en sólo dos líneas de código: WorkBook workbook = WorkBook.Load("data.xlsx"); workbook.SaveAsJson("output.json");. Este sencillo método elimina la necesidad de realizar complejos análisis sintácticos o extracciones manuales de datos.

¿A qué formatos de archivo puedo exportar datos de Excel con C#?

IronXL soporta la exportación de libros de Excel a varios formatos, incluyendo: Formatos de Excel (.xlsx y .xls), formatos de intercambio de datos (.csv, .json y .xml) y valores separados por tabulaciones (.tsv). Cada formato está optimizado para casos de uso específicos, como importaciones de bases de datos, API web o integración de sistemas empresariales.

¿Cómo instalo la biblioteca de exportación de Excel para mi proyecto de C#?

Puedes instalar IronXL a través del gestor de paquetes NuGet o descargando directamente la DLL. La biblioteca admite aplicaciones .NET Framework, .NET Core y .NET 5+, lo que la hace compatible con entornos de desarrollo modernos, incluidas las implementaciones de Azure y Docker.

¿Puedo convertir archivos XLS heredados al moderno formato XLSX en C#?

Sí, IronXL simplifica la conversión entre formatos de Excel. Puede cargar un archivo .xls antiguo utilizando WorkBook.Load() y guardarlo como un archivo .xlsx moderno, preservando toda la integridad de los datos durante el proceso de conversión.

¿Qué métodos ofrece la biblioteca para exportar datos de Excel?

IronXL proporciona métodos dedicados para cada formato de exportación: SaveAsCsv() para archivos CSV, SaveAsJson() para salida JSON, SaveAsXml() para formato XML, y Save() estándar con las extensiones apropiadas para formatos Excel. Estos métodos manejan internamente todas las conversiones de tipo de archivo.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, ...

Leer más
¿Listo para empezar?
Nuget Descargas 2,150,290 | Versión: 2026.7 recién lanzado
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronXL.Excel
ejecuta una muestra observa cómo tus datos se convierten en una hoja de cálculo.