IRONSOFTWAREHOME

Como Importar e Exportar DataTable em C#

Curtis Chau
Curtis Chau
Updated: 4 de junho de 2026

O IronXL converte entre workbooks Excel e DataSets com chamadas de método único - use LoadWorkSheetsFromDataSet() para importar DataSets em workbooks e ToDataSet() para exportar workbooks como DataSets com mapeamento automático de folha para tabela.

Um DataSet é uma representação de dados em memória contendo várias tabelas relacionadas, relações e restrições. Usado para trabalhar com dados de bancos de dados, XML e outras fontes. Ao trabalhar com arquivos Excel em C#, DataSet fornece uma estrutura .NET familiar que se integra com aplicativos orientados a dados.

Um DataTable representa uma tabela única com linhas e colunas dentro de um DataSet. IronXL mapeia automaticamente cada planilha Excel para um correspondente DataTable, preservando os cabeçalhos de coluna e os tipos de dados durante a conversão.

Início Rápido: Exportar Workbook como System.Data.DataSet Instantaneamente

Converter um workbook em um DataSet leva uma chamada de método. Este exemplo exporta todo o seu workbook - cada folha como um DataTable - usando ToDataSet com reconhecimento opcional de cabeçalho de primeira linha.

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2Copie e execute este trecho de código.

    DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true);
    C#
  3. 3Implante para testar em seu ambiente de produção.

    Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita
    arrow pointer

Como Carregar um DataSet em um Workbook?

Use o método estático LoadWorkSheetsFromDataSet para importar um DataSet em um workbook. Este método requer ambos objetos DataSet e Workbook. Também aceita configurações opcionais via DataSet. Crie o workbook primeiro usando o método Create. Passe o objeto DataSet e o objeto workbook para o 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 do DataSet se torna uma planilha separada. O nome da tabela se torna o nome da planilha, mantendo a organização dos dados. Para múltiplas fontes de dados, combine isso com criação de novas planilhas ou gerenciamento de planilhas existentes.

Aqui está um exemplo abrangente carregando um DataSet com múltiplas tabelas:

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");

Esta abordagem funciona bem ao exportar dados de bancos de dados SQL ou consolidar dados de múltiplas fontes em formato Excel.

Visite Como Carregar Planilhas Existentes para saber mais sobre a importação de planilhas de vários formatos de arquivo.


Como Exportar um Workbook como um DataSet?

O método ToDataSet converte o workbook em um System.Data.DataSet, onde cada planilha se torna um System.Data.DataTable. Chame este método no workbook Excel para convertê-lo em um objeto DataSet. O parâmetro useFirstRowAsColumnNames determina se deve usar a primeira linha como nomes de coluna.

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

IronXL lida automaticamente com a conversão de tipos de dados e mantém a estrutura das planilhas ao exportar para DataSets. Isso ajuda ao integrar dados do Excel com bancos de dados SQL ou usar dados em outros aplicativos .NET.

Exemplo avançado demonstrando exportação de pasta de trabalho e processamento de DataSet:

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#

O DataSet exportado mantém relações e restrições definidas no Excel, perfeito para trabalhar com estruturas de dados complexas do Excel sem dependências do Excel Interop.

Recursos Adicionais de DataSet/DataTable

IronXL fornece recursos avançados ao trabalhar com DataSet e DataTable:

Lidando com Tipos de Dados

IronXL mapeia inteligentemente tipos de dados durante a conversão de Excel-DataSet. Células numéricas se tornam tipos numéricos apropriados (Int32, Double, Decimal), células de data se tornam objetos DateTime e células de texto se tornam Strings. Personalize isso configurando formatos de dados de célula antes da conversão.

Otimização de desempenho

IronXL otimiza o uso de memória e a velocidade de processamento para grandes conjuntos de dados. A biblioteca faz streaming de dados de forma eficiente em vez de carregar tudo na memória. Adequado para aplicações empresariais que processam grandes volumes de dados.

Integração com outras funcionalidades

A funcionalidade de DataSet/DataTable integra-se com outros recursos do IronXL:

  • Aplique fórmulas e cálculos antes de exportar para DataSet
  • Use formatação condicional para destacar dados antes da conversão
  • Combine com criação de gráficos para relatórios visuais
  • Suporte à serialização personalizada usando int
  • Inclua regras de validação de dados via decimal
  • Manipule valores ausentes com double
  • Gerencie metadados de planilha através de DateTime
  • Preserve os tipos de formatação de célula usando string

Visite Como Salvar ou Exportar Planilhas para saber sobre exportação de planilhas para vários formatos de arquivo.

Perguntas frequentes

Como faço para converter uma planilha do Excel em um DataSet em C#?

Com o IronXL, você pode converter uma planilha do Excel em um DataSet usando o método ToDataSet(). Basta chamar WorkBook.ToDataSet(useFirstRowAsColumnNames: true) para exportar toda a sua planilha, onde cada aba se torna um DataTable no DataSet resultante.

Posso importar um DataSet para uma planilha do Excel programaticamente?

Sim, o IronXL fornece o método LoadWorkSheetsFromDataSet() para importar um DataSet para uma pasta de trabalho. Crie uma pasta de trabalho usando WorkBook.Create(), e então passe o DataSet e a pasta de trabalho para este método estático. Cada DataTable se torna uma planilha separada.

O que acontece com os nomes dos DataTables ao importá-los para o Excel?

Ao usar o método LoadWorkSheetsFromDataSet() do IronXL, cada nome de DataTable se torna automaticamente o nome da planilha no Excel, mantendo a organização dos seus dados e facilitando a identificação de diferentes fontes de dados.

A biblioteca preserva os cabeçalhos das colunas durante a conversão do DataSet?

Sim, o IronXL preserva os cabeçalhos de coluna e os tipos de dados durante a conversão entre Excel e DataSets. Ao usar ToDataSet() com useFirstRowAsColumnNames definido como verdadeiro, a primeira linha de cada planilha é reconhecida como cabeçalho de coluna.

Como lidar com várias tabelas ao converter entre Excel e DataSets?

O IronXL mapeia automaticamente cada planilha do Excel para uma DataTable correspondente ao converter para DataSet, e vice-versa. Ao importar um DataSet com várias tabelas, cada DataTable cria uma planilha separada na pasta de trabalho.

Qual é o código mínimo necessário para exportar um arquivo Excel para um DataSet?

O código mínimo para exportar uma planilha do Excel para um DataSet usando o IronXL consiste em apenas uma linha: `DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true);` Isso converte toda a sua planilha com mapeamento automático de planilhas para tabelas.

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
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 2,237,574Versão:2026.9recém-lançado

Obtenha o seu GRÁTIS

Obtenha uma chave de avaliação de 30 dias instantaneamente.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.
bullet_testTeste em produção
sem marcas d'água
bullet_calendar30 dias completos
produto funcional
bullet_supportSuporte técnico 24 horas por dia,
5 dias por semana, durante o teste
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronXL".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.9

  1. Baixe e descompacte o IronXL em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronXL.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.