Cómo exportar datos de Excel usando C#

Exportación de C# a Excel: Guía completa para desarrolladores

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

Trabajar con datos de Excel a menudo requiere exportar hojas de cálculo a diferentes formatos para la integración con varios sistemas y aplicaciones. Esta guía muestra cómo exportar archivos de Excel a múltiples formatos, incluidos .xlsx, .xls, .csv, .xml, y .json usando C# e IronXL, sin necesidad de dependencias de Microsoft Office Interop.

como-título:2(Inicio rápido: Exportar libro a JSON en una línea)

Cargue su archivo de Excel existente y expórtelo a JSON en solo una línea con la API intuitiva de IronXL. Los desarrolladores pueden comenzar a exportar archivos de Excel sin escribir código repetitivo, haciendo que el intercambio de datos sea sencillo.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronXL con el gestor 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

    Empieza a utilizar 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 simplificado para trabajar con archivos de 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, agregue la referencia de IronXL para acceder a todas las funciones de manipulación de Excel a través del espacio de nombres IronXL. La biblioteca admite .NET Framework, .NET Core, y aplicaciones .NET 5+, lo que lo hace compatible con entornos de desarrollo modernos.


Tutorial de cómo hacerlo

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

IronXL permite la exportación fluida de datos de libros de Excel a múltiples formatos de archivo. La biblioteca admite la exportación a:

  • Formatos de Excel: .xlsx (moderno) y .xls (legado)
  • Formatos de intercambio de datos: .csv, .json, y .xml
  • Valores separados por tabuladores: .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. También podemos exportar los formatos de archivo mencionados arriba a sus respectivos flujos de salida para integrar con otras aplicaciones. Vamos a explorar cómo implementar cada tipo de exportación.


¿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. Al convertir de .xls a .xlsx, el proceso conserva todas las hojas de trabajo, fórmulas, formato y tipos de datos. Esta conversión es particularmente útil al modernizar archivos de Excel legado para compatibilidad con versiones más nuevas de Office.

Exportar a secuencia XLSX

Alternativamente, también puede usar ToXlsxStream para exportar el documento a un XLSX para integrar con otras aplicaciones. Aquí tiene un breve ejemplo de cómo hacerlo.

: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 maneja esta conversión sin problemas:

: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.

Exportar a secuencia XLS

Además de usar SaveAs para exportar al formato .XLS legado, IronXL también admite la exportación como un flujo XLS.

: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();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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 CSV:

: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 .xls file
workbook.SaveAsCsv("newFile.csv");
Imports IronXL

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

' Export as .xls 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:

Tres archivos CSV creados a partir de la exportación de Excel que muestran exportedData.Sheet1.csv, exportedData.Sheet2.csv y exportedData.Sheet3.csv en el Explorador de Windows

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

La estructura del archivo de Excel original con tres hojas de trabajo:

Libro de Excel que muestra tres pestañas de hoja de cálculo denominadas Hoja1, Hoja2 y Hoja3 en la parte inferior de la interfaz de la hoja de cálculo

Libro de Excel original que muestra tres hojas de trabajo que se exportarán como archivos CSV individuales

El método SaveAsCsv preserva los valores de los datos mientras elimina el formato, fórmulas, y otras características específicas de Excel. Esto hace que CSV sea ideal para importar datos en bases de datos o procesar con otras aplicaciones.

Exportar hoja de cálculo de Excel a CSV Stream

Para convertir solo una hoja de trabajo especificada dentro del libro a un flujo CSV, podemos usar el método ToCsvStream y proporcionar un entero que indique el índice de la hoja de trabajo para devolver como flujo CSV. A continuación se muestra un ejemplo de este método.

: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

Exportar todo a CSV Stream

IronXL también admite la conversión de todo el libro en un flujo CSV; usamos el método ToCsvStreams en su lugar para convertir todas las hojas de trabajo en el libro.

: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:

: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 particularmente valiosa para integrar datos de Excel con servicios web o sistemas que requieren formatos de datos estructurados.

Exportar datos como flujo XML

Para exportar una hoja de trabajo especificada a un flujo XML, usamos el método ToXmlStream y proporcionamos un parámetro entero, que representa el índice de la hoja de trabajo.

: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

Exportar todos los datos a secuencias XML

Para exportar todo el libro como flujos XML, usamos el método ToXmlStreams.

: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 proporciona funcionalidad directa de exportación a JSON:

: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, los desarrolladores pueden combinar la exportación JSON con las funciones de manipulación de datos de IronXL para transformar los datos antes de exportarlos.

Exportar hoja de cálculo de Excel como secuencia JSON

Para convertir una hoja de trabajo especificada a un flujo JSON, usamos el método ToJsonStream y proporcionamos un entero como índice de la hoja de trabajo que desea convertir.

: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

Exportar todo como flujos JSON

Para convertir todo el libro en un flujo JSON, usamos el método ToJsonStreams en su lugar.

: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

Tutorial de acceso rápido

Documentation related to Tutorial de acceso rápido

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 en producción, explore nuestras 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 datos de Excel a múltiples formatos usando C#?

Puede usar IronXL para exportar datos de Excel a varios formatos como .xls, .xlsx, .csv, .xml y .json mediante los respectivos métodos como SaveAsCsv(), SaveAsXml() y SaveAsJson().

¿Necesito Microsoft Office para exportar archivos de Excel en C#?

No, no necesita tener Microsoft Office instalado. IronXL proporciona una solución autónoma para exportar archivos de Excel sin depender de Microsoft.Office.Interop.Excel.

¿Cómo puedo exportar un archivo de Excel a formato JSON en C#?

Utilice el método SaveAsJson() de IronXL para convertir datos de Excel a formato JSON, permitiendo una fácil integración con APIs web al crear estructuras JSON basadas en arrays.

¿Cuáles son los requisitos previos para exportar archivos de Excel usando IronXL?

Asegúrese de que IronXL esté instalado a través de NuGet o agregado manualmente a su proyecto, incluya extensiones de archivos adecuadas en los nombres de archivos de exportación y use el método de exportación correcto correspondiente a su formato deseado.

¿Puedo elegir hojas de Excel específicas para exportar?

Sí, IronXL le permite seleccionar hojas específicas para exportar usando WorkBook.WorkSheets[index] o WorkBook.GetWorkSheet(name), y luego aplicar métodos de exportación como SaveAsCsv() en la hoja seleccionada.

¿Cómo puedo guardar archivos de Excel exportados en un directorio específico?

Especifique la ruta completa del archivo en los parámetros del método SaveAs() para guardar los archivos exportados en un directorio personalizado en lugar de la carpeta predeterminada bin\Debug.

¿Qué método debo utilizar para exportar datos de Excel a XML?

IronXL proporciona un método SaveAsXml() que exporta cada hoja como un archivo XML separado, preservando la estructura de datos y haciéndolo adecuado para la integración con aplicaciones que requieren entradas XML.

¿Cómo exporto archivos de Excel a formato CSV en C#?

Use el método SaveAsCsv() de IronXL para exportar archivos de Excel a formato CSV. Maneja automáticamente los libros de trabajo con múltiples hojas creando archivos CSV separados para cada hoja de trabajo.

¿Cuál es el beneficio de usar IronXL para las operaciones de exportación de Excel?

IronXL simplifica las operaciones de exportación complejas con su API intuitiva, permitiendo a los desarrolladores convertir archivos de Excel a través de múltiples formatos mientras se asegura la integridad de los datos sin dependencias de Microsoft Office.

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

Jacob Mellor es Director de Tecnología en Iron Software y un ingeniero visionario que lidera la tecnología PDF en C#. Como el desarrollador original detrás de la base de código central de Iron Software, ha moldeado la arquitectura de productos de la compañía desde ...

Leer más
¿Listo para empezar?
Nuget Descargas 1,738,553 | Version: 2025.11 recién lanzado