IRONSOFTWAREHOME

Cómo importar y exportar DataTable en C#

Curtis Chau
Curtis Chau
Updated: 4 de junio de 2026

IronXL convierte entre libros de Excel y DataSets con llamadas a un solo método - use LoadWorkSheetsFromDataSet() para importar DataSets en libros y ToDataSet() para exportar libros como DataSets con mapeo automático de hoja a tabla.

Un DataSet es una representación en memoria de datos que contiene múltiples tablas relacionadas, relaciones y restricciones. Se utiliza para trabajar con datos de bases de datos, XML y otras fuentes. Al trabajar con archivos Excel en C#, DataSet proporciona una estructura .NET familiar que se integra con aplicaciones basadas en datos.

Un DataTable representa una sola tabla con filas y columnas dentro de un DataSet. IronXL mapea automáticamente cada hoja de Excel a un DataTable correspondiente, preservando encabezados de columna y tipos de datos durante la conversión.

Inicio rápido: Exportar libro como System.Data.DataSet al instante

Convertir un libro en un DataSet requiere una llamada a método. Este ejemplo exporta tu libro completo: cada hoja como un DataTable, usando ToDataSet con reconocimiento opcional del encabezado de primera fila.

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2Copie y ejecute este fragmento de código.

    DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true);
    C#
  3. 3Despliegue para probar en su entorno real

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

¿Cómo cargo un DataSet en un libro?

Use el método estático LoadWorkSheetsFromDataSet para importar un DataSet en un libro. Este método requiere tanto objetos DataSet como Workbook. También acepta configuraciones opcionales a través de DataSet. Cree primero el libro utilizando el método Create. Pase el objeto DataSet y el objeto workbook al método.

using IronXL;
using System.Data;

// Create dataset
DataSet dataSet = new DataSet();

// Create workbook
WorkBook workBook = WorkBook.Create();

// Load DataSet to workBook
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook);

Cada DataTable dentro del DataSet se convierte en una hoja de cálculo separada. El nombre de la tabla se convierte en el nombre de la hoja de cálculo, manteniendo la organización de los datos. Para múltiples fuentes de datos, combine esto con creación de nuevas hojas de cálculo o gestión de hojas de trabajo existentes.

Aquí hay un ejemplo completo cargando un DataSet con múltiples tablas:

using IronXL;
using System.Data;

// Create a DataSet with multiple tables
DataSet salesData = new DataSet("CompanySales");

// Create and populate a products table
DataTable productsTable = new DataTable("Products");
productsTable.Columns.Add("ProductID", typeof(int));
productsTable.Columns.Add("ProductName", typeof(string));
productsTable.Columns.Add("Price", typeof(decimal));

// Add sample data
productsTable.Rows.Add(1, "Laptop", 999.99m);
productsTable.Rows.Add(2, "Mouse", 19.99m);
productsTable.Rows.Add(3, "Keyboard", 49.99m);

// Create and populate a sales table
DataTable salesTable = new DataTable("Sales");
salesTable.Columns.Add("SaleID", typeof(int));
salesTable.Columns.Add("ProductID", typeof(int));
salesTable.Columns.Add("Quantity", typeof(int));
salesTable.Columns.Add("Date", typeof(DateTime));

// Add sample sales data
salesTable.Rows.Add(1, 1, 5, DateTime.Now);
salesTable.Rows.Add(2, 2, 25, DateTime.Now.AddDays(-1));
salesTable.Rows.Add(3, 3, 10, DateTime.Now.AddDays(-2));

// Add tables to DataSet
salesData.Tables.Add(productsTable);
salesData.Tables.Add(salesTable);

// Create workbook and load DataSet
WorkBook workBook = WorkBook.Create();
WorkBook.LoadWorkSheetsFromDataSet(salesData, workBook);

// Save the workbook with all imported data
workBook.SaveAs("SalesReport.xlsx");

Este enfoque funciona bien al exportar datos de bases de datos SQL o consolidar datos de múltiples fuentes en formato Excel.

Visite Cómo cargar hojas de cálculo existentes para aprender a importar hojas de cálculo desde varios formatos de archivo.


¿Cómo exporto un libro como un DataSet?

El método ToDataSet convierte el libro en un System.Data.DataSet, donde cada hoja de cálculo se convierte en un System.Data.DataTable. Llame a este método en el libro de Excel para convertirlo a un objeto DataSet. El parámetro useFirstRowAsColumnNames determina si usar la primera fila como nombres de columna.

// source file not found: /static-assets/excel-content-code-examples/how-to/export-dataset-datatable-export.cs
C#

IronXL maneja automáticamente la conversión de tipos de datos y mantiene la estructura de la hoja de cálculo al exportar a DataSets. Esto ayuda a la hora de integrar datos de Excel con bases de datos SQL o utilizar datos en otras aplicaciones .NET.

Ejemplo avanzado de exportación de libros de trabajo y procesamiento de DataSets:

using IronXL;
using System;
using System.Data;

// Load an existing Excel file
WorkBook workBook = WorkBook.Load("FinancialData.xlsx");

// Export to DataSet with column headers from first row
DataSet financialDataSet = workBook.ToDataSet(useFirstRowAsColumnNames: true);

// Process each DataTable in the DataSet
foreach (DataTable table in financialDataSet.Tables)
{
    Console.WriteLine($"Processing table: {table.TableName}");
    Console.WriteLine($"Columns: {table.Columns.Count}, Rows: {table.Rows.Count}");
    
    // Iterate through columns
    foreach (DataColumn column in table.Columns)
    {
        Console.WriteLine($"  Column: {column.ColumnName} ({column.DataType})");
    }
    
    // Process first 5 rows as example
    int rowCount = 0;
    foreach (DataRow row in table.Rows)
    {
        if (rowCount++ >= 5) break;
        
        // Access data by column name
        foreach (DataColumn col in table.Columns)
        {
            Console.WriteLine($"    {col.ColumnName}: {row[col]}");
        }
    }
}

// You can also export specific worksheets as DataTables
WorkSheet specificSheet = workBook.GetWorkSheet("Q1Sales");
DataTable q1Data = specificSheet.ToDataTable(useFirstRowAsColumnNames: true);

// Use the DataTable with other .NET components
// For example, bind to a DataGridView or save to database
C#

El DataSet exportado mantiene relaciones y restricciones definidas en Excel, perfecto para trabajar con estructuras de datos Excel complejas sin dependencias de Interop de Excel.

Características adicionales de DataSet/DataTable

IronXL proporciona características avanzadas al trabajar con DataSet y DataTable:

Manejo de tipos de datos

IronXL asigna de forma inteligente los tipos de datos durante la conversión Excel-DataSet. Las celdas numéricas se convierten en los tipos numéricos apropiados (Int32, Double, Decimal), las celdas de fecha se convierten en objetos DateTime, las celdas de texto se convierten en Strings. Personalícelo configurando los formatos de datos de las celdas antes de la conversión.

Optimización del rendimiento

IronXL optimiza el uso de memoria y la velocidad de procesamiento de grandes conjuntos de datos. La biblioteca transmite datos de forma eficiente en lugar de cargar todo en la memoria. Adecuado para aplicaciones empresariales que procesen grandes volúmenes de datos.

Integración con otras funciones

La funcionalidad DataSet/DataTable se integra con otras características de IronXL:

  • Aplique fórmulas y cálculos antes de exportar a un DataSet
  • Utilice formateo condicional para resaltar los datos antes de la conversión
  • Combínalo con creación de gráficos para crear informes visuales
  • Soporte de serialización personalizada utilizando int
  • Incluir reglas de validación de datos a través de decimal
  • Manejar valores faltantes con double
  • Gestionar metadatos de la hoja de cálculo mediante DateTime
  • Conservar tipos de formato de celda utilizando string

Visita Cómo guardar o exportar hojas de cálculo para aprender a exportar hojas de cálculo a varios formatos de archivo.

Preguntas Frecuentes

¿Cómo convierto un libro de Excel a un DataSet en C#?

Con IronXL, puede convertir un libro de Excel en un DataSet utilizando el método ToDataSet(). Simplemente llame a WorkBook.ToDataSet(useFirstRowAsColumnNames: true) para exportar todo su libro de trabajo donde cada hoja se convierte en una DataTable en el DataSet resultante.

¿Puedo importar un DataSet a un libro de Excel mediante programación?

Sí, IronXL proporciona el método LoadWorkSheetsFromDataSet() para importar un DataSet en un libro de trabajo. Cree un libro de trabajo utilizando WorkBook.Create(), luego pase tanto el DataSet como el libro de trabajo a este método estático. Cada DataTable se convierte en una hoja de trabajo independiente.

¿Qué ocurre con los nombres de DataTable al importarlos a Excel?

Al utilizar el método LoadWorkSheetsFromDataSet() de IronXL, cada nombre de DataTable se convierte automáticamente en el nombre de la hoja de trabajo en Excel, manteniendo su organización de datos y facilitando la identificación de diferentes fuentes de datos.

¿Conserva la biblioteca los encabezados de columna durante la conversión de DataSet?

Sí, IronXL conserva los encabezados de columna y los tipos de datos durante la conversión entre Excel y DataSets. Cuando se utiliza ToDataSet() con useFirstRowAsColumnNames establecido en true, la primera fila de cada hoja de cálculo se reconoce como encabezados de columna.

¿Cómo se gestionan las tablas múltiples al convertir entre Excel y DataSets?

IronXL asigna automáticamente cada hoja de cálculo de Excel a una DataTable correspondiente al convertir a DataSet, y viceversa. Al importar un DataSet con múltiples tablas, cada DataTable crea una hoja de trabajo separada en el libro de trabajo.

¿Cuál es el código mínimo necesario para exportar Excel a DataSet?

El código mínimo para exportar un libro de Excel a DataSet utilizando IronXL es de una sola línea: DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true); Esto convierte todo su libro de trabajo con mapeo automático de hoja a tabla.

What performance optimizations does IronXL include for handling large datasets?

IronXL is optimized for high performance, using efficient streaming techniques to manage memory and speed when working with large data volumes, making it suitable for enterprise-level applications.

How does IronXL maintain data structure when converting a workbook to a DataSet?

IronXL maintains the organizational structure by converting each worksheet to a DataTable. The relationships, constraints, column headers, and data types are preserved during conversion, allowing for complex data interactions.

Can I use IronXL to create visual reports using Excel data?

Yes, IronXL supports creating charts and visual reports by integrating its DataSet/DataTable functionality with its chart creation features, allowing for comprehensive data visualization directly from Excel data.

Does IronXL support the integration of custom serialization in DataSet operations?

IronXL allows for custom serialization, which can enhance DataSet and DataTable manipulation according to specific application requirements, providing greater flexibility in handling serialized data.

Curtis Chau
Escritor Técnico

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.

...
Leer más

¿Listo para empezar?

Nuget Downloads 2,237,574Versión:2026.9recién lanzado

Obtén tu GRATIS

Clave de prueba de 30 días instantáneamente.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuenta
bullet_testPrueba en producción
sin marcas de agua
bullet_calendarProducto completamente
funcional por 30 días
bullet_supportSoporte técnico 24/5
durante la prueba
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque 'IronXL'
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

  1. Descargue y descomprima IronXL en una ubicación como ~/Libs dentro del directorio de su Solución
  2. En Visual Studio Solution Explorer, haga clic derecho en Referencias. Seleccione Examinar, 'IronXL.dll'

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta