IRONSOFTWAREHOME
USANDO O IRONXL

Como converter um conjunto de dados para o Excel em C# usando o IronXL

Curtis Chau
Curtis Chau
Updated: 28 de junho de 2026

IronXL permite a conversão direta de DataSets para arquivos Excel sem dependências do Microsoft Office, suportando formatos XLSX, XLS, CSV com criação automática de planilhas a partir de DataTables - ideal para ambientes conteinerizados e pipelines automatizados.

Converter DataSets em arquivos de planilhas Excel é um requisito comum em aplicações .NET, seja para gerar relatórios, exportar consultas de banco de dados ou criar backups de dados. Enquanto métodos tradicionais usando Office Interop requerem a instalação do Excel e referências complexas de COM, IronXL oferece uma abordagem direta que funciona independentemente do Microsoft Office.

Este tutorial demonstra como converter eficientemente DataSets com DataTable linhas em arquivos Excel em C# usando IronXL, completo com opções de formatação e suporte para múltiplos formatos de arquivo.

O Que Torna a Conversão de DataSet para Excel Essencial?

Um DataSet em .NET representa um cache de dados em memória, contendo um ou mais DataTables com linhas, colunas e relacionamentos. Converter estes DataSets para Excel permite:

  • Relatórios empresariais: Transformar consultas de banco de dados em planilhas formatadas para partes interessadas
  • Arquivamento de dados: Exportar dados de aplicativos para armazenamento e análise a longo prazo
  • Compatibilidade entre plataformas: Compartilhar dados com usuários que podem não ter acesso ao seu aplicativo
  • Visualização aprimorada: Ferramentas de gráficos e análise internas do Excel estão disponíveis para os usuários finais

IronXL simplifica este processo fornecendo uma API intuitiva que gerencia a conversão sem exigir que o Excel seja instalado no servidor ou máquina de desenvolvimento. A biblioteca suporta .NET Framework 4.6.2 e posterior, .NET Core, e .NET 5 a .NET 10, tornando-a adequada para aplicativos modernos, incluindo aqueles implantados em containers Linux e ambientes de nuvem. Para mais detalhes sobre plataformas suportadas, visite a página de recursos do IronXL.

Por Que o IronXL Funciona Bem em Ambientes Conteinerizados?

IronXL opera sem dependências de COM ou binários nativos do Excel, tornando-o inerentemente amigável a containers. Ao contrário de soluções de Interop do Office que requerem configurações complexas de Docker com contêineres do Windows, IronXL roda de forma eficiente em contêineres Linux leves, reduzindo o tamanho das imagens e a complexidade de implantação. A arquitetura da biblioteca alinha-se bem com padrões de microsserviços.

Para implantações conteinerizadas, IronXL não requer privilégios especiais ou instalações em nível de sistema. A biblioteca funciona com configurações padrão do Docker e suporta builds de múltiplas etapas para imagens de contêiner otimizadas. Esta compatibilidade estende-se a sistemas Linux e macOS, garantindo comportamento consistente entre ambientes de desenvolvimento e produção.

Quais São as Implicações de Desempenho para DataSets Grandes?

IronXL lida com a memória eficientemente através de capacidades de streaming, processando DataSets com milhões de linhas sem carregar tudo na memória ao mesmo tempo. A biblioteca otimiza operações de escrita de arquivos, tipicamente convertendo um DataSet de 100.000 linhas em Excel em menos de 5 segundos em hardware de servidor padrão. Recursos avançados como ajuste automático de linhas e colunas podem ser aplicados seletivamente para manter a performance enquanto garante a legibilidade.

Ao trabalhar com conjuntos de dados extremamente grandes, considere implementar estratégias de paginação ou dividir dados em várias planilhas. A arquitetura de memória eficiente da biblioteca garante performance estável mesmo sob carga pesada, tornando-a adequada para pipelines de ETL de alta produtividade e cenários de processamento em lote. Para dicas sobre como importar dados de volta para seu aplicativo, consulte a documentação do IronXL sobre como ler arquivos do Excel .

Como Instalar IronXL em Seu Projeto .NET?

Configurar o IronXL leva apenas alguns minutos. Abra o Visual Studio, navegue até seu projeto e então instale o IronXL através do Gerenciador de Pacotes NuGet. Para instruções completas de configuração, consulte o guia de introdução ao IronXL.

Usando o Console do Gerenciador de Pacotes ou o .NET CLI, execute um dos seguintes:

PM > Install-Package IronXL.Excel

Alternativamente, pesquise por "IronXL.Excel" na interface do Gerenciador de Pacotes NuGet e clique em Instalar. O pacote irá baixar automaticamente e configurar todas as dependências necessárias. Você pode encontrar opções de instalação adicionais no guia de instalação do IronXL NuGet .

Uma vez instalado, adicione o namespace IronXL ao seu arquivo C#:

using IronXL;
using System.Data;

Com essas importações em vigor, você está pronto para começar a converter DataSets para arquivos Excel. Para ambientes empresariais, revise as opções de licenciamento e a página de licença de teste para garantir uma configuração de implantação adequada.

Como Realizar uma Conversão Básica de DataSet para Excel?

O exemplo a seguir cria um DataSet com dados de produtos de exemplo e exporta diretamente para um arquivo Excel usando instruções de nível superior em C# (.NET 10):

using IronXL;
using System.Data;

// Create a sample DataSet with product information
DataSet dataSet = new DataSet("ProductData");

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

// Add sample rows
productsTable.Rows.Add(1, "Laptop", 999.99m, true);
productsTable.Rows.Add(2, "Mouse", 19.99m, true);
productsTable.Rows.Add(3, "Keyboard", 49.99m, false);
productsTable.Rows.Add(4, "Monitor", 299.99m, true);
productsTable.Rows.Add(5, "Headphones", 79.99m, true);

// Add the DataTable to the DataSet
dataSet.Tables.Add(productsTable);

// Export DataSet to Excel using IronXL
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook);

// Save the Excel file
workBook.SaveAs("ProductData.xlsx");

Este código cria um DataSet contendo informações de produtos e o converte diretamente em um arquivo Excel. O método LoadWorkSheetsFromDataSet cria automaticamente uma planilha para cada DataTable no seu DataSet. O arquivo Excel resultante contém dados devidamente formatados derivados da sua estrutura de DataTable. Para cenários mais complexos, explore os guias práticos do IronXL para criação de planilhas .

O Que Acontece com os Tipos de Dados Durante a Conversão?

Planilha Excel exibindo conjunto de dados de produtos convertidos com colunas de ID, Nome do Produto, Preço e Em Estoque mostrando 5 produtos, incluindo laptop, mouse, teclado, monitor, e fones de ouvido com preservação correta do tipo de dado

IronXL preserva os tipos de dados durante a conversão. Valores inteiros permanecem numéricos, decimais mantêm sua precisão, e valores booleanos são convertidos para o formato VERDADEIRO/FALSO do Excel. Esta preservação automática de tipo garante que as fórmulas e funções do Excel funcionem corretamente com os dados exportados. Para requisitos de formatação personalizados, utilize os recursos de formatação de células para aplicar formatos de número específicos, formatos de data ou padrões personalizados.

Você também pode salvar o livro em diferentes formatos:

// Save as legacy XLS format
workBook.SaveAs("ProductData.xls");

// Save as CSV (comma-separated values)
workBook.SaveAsCsv("ProductData.csv");

// Save as TSV (tab-separated values)
workBook.SaveAs("ProductData.tsv");

Cada formato tem casos de uso específicos: XLSX para compatibilidade com o Excel moderno, XLS para sistemas legados e CSV/TSV para troca universal de dados com outras aplicações e bancos de dados. Saiba mais sobre como exportar arquivos do Excel na documentação do IronXL .

Como Exportar Dados de Bancos de Dados Diretamente para Excel?

Em aplicações do mundo real, é comum exportar dados de bancos de dados SQL. O exemplo a seguir consulta um banco de dados e exporta os resultados para o Excel usando declarações de nível superior em C#:

using IronXL;
using System.Data;
using System.Data.SqlClient;

string connectionString = "Data Source=server;Initial Catalog=SampleDB;Integrated Security=True";
string query = "SELECT OrderID, CustomerName, OrderDate, TotalAmount FROM Orders WHERE OrderDate >= '2024-01-01'";

DataSet dataSet = new DataSet();

// Populate DataSet from database
using (SqlConnection connection = new SqlConnection(connectionString))
{
    using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection))
    {
        adapter.Fill(dataSet, "Orders");
    }
}

// Create Excel workbook and load data
WorkBook workBook = WorkBook.Create();
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook);

// Auto-size columns for readability
WorkSheet worksheet = workBook.WorkSheets[0];
for (int i = 0; i < worksheet.Columns.Count(); i++)
{
    worksheet.AutoSizeColumn(i);
}

// Save with timestamp in filename
string fileName = $"OrdersExport_{DateTime.Now:yyyyMMdd_HHmmss}.xlsx";
workBook.SaveAs(fileName);

Este exemplo demonstra um fluxo de trabalho completo desde a consulta ao banco de dados até o arquivo Excel. O SqlDataAdapter preenche o DataSet com resultados de consulta, que o IronXL então converte em um arquivo Excel formatado. A funcionalidade de ajuste automático garante que todos os dados fiquem visíveis sem ajustes manuais de largura de coluna. Para lidar com conjuntos de dados maiores, consulte o guia sobre como converter arquivos do Excel em DataSet e importar dados para pastas de trabalho .

Como Otimizar Exportações de Bancos de Dados para Desempenho?

Resultados de consulta SQL mostrando colunas OrderID, CustomerName, OrderDate, e TotalAmount da tabela Orders com dados de exemplo prontos para exportação para Excel

Para desempenho ideal com exportações grandes de banco de dados, implemente processamento em lote. Use SqlDataReader para recuperação de dados eficiente em termos de memória e processe registros em partes. De acordo com a documentação da Microsoft sobre ADO.NET DataSets, batching é a estratégia recomendada para conjuntos de resultados grandes. A página do pacote NuGet para IronXL.Excel lista todos os frameworks de destino suportados e o histórico de versões.

Considere implementar processamento paralelo para exportações de múltiplas tabelas e use pool de conexões para minimizar a carga do banco de dados durante as exportações. O guia de pastas de trabalho abertas do IronXL fornece padrões adicionais para leitura e modificação de pastas de trabalho existentes como parte de um processo de exportação.

Quais Considerações de Segurança se Aplicam às Exportações de Banco de Dados?

Planilha Excel mostrando dados exportados com nomes, datas, horas e valores numéricos demonstrando conversão de conjunto de dados bem-sucedida com formatação adequada

Implemente criptografia de strings de conexão, use consultas parametrizadas para evitar injeção de SQL e considere mascarar dados para campos sensíveis. Em ambientes containerizados, armazene strings de conexão como segredos em vez de variáveis de ambiente em texto simples. A folha de referência do OWASP para prevenção de injeção SQL fornece uma referência completa para proteger o acesso a bancos de dados em qualquer aplicação .NET.

Proteger o arquivo Excel resultante é igualmente importante. O guia de gravação de arquivos Excel do IronXL aborda a criação de planilhas e os padrões de salvamento. Para controle de acesso, aplique proteção por senha em planilhas ou livros para exportações sensíveis e audite todas as operações de exportação no nível da aplicação.

Quando Implementar Paginação para Exportações Grandes?

Para DataSets que excedem 100.000 linhas, implemente paginação para evitar exaustão de memória. Processe dados em blocos de 10.000 a 50.000 linhas, escrevendo no arquivo Excel de forma incremental. Esta abordagem mantém o uso de memória consistente independentemente do tamanho total do conjunto de dados e mantém sua aplicação responsiva sob carga.

Como Manipular Múltiplos DataTables em Um Arquivo Excel?

Ao trabalhar com dados relacionados, um único DataSet pode conter múltiplos DataTables. O IronXL converte cada tabela em uma planilha separada automaticamente:

using IronXL;
using System.Data;

DataSet dataSet = new DataSet("CompanyData");

// Create Employees table
DataTable employeesTable = new DataTable("Employees");
employeesTable.Columns.Add("EmployeeID", typeof(int));
employeesTable.Columns.Add("Name", typeof(string));
employeesTable.Columns.Add("Department", typeof(string));
employeesTable.Rows.Add(1, "John Smith", "Sales");
employeesTable.Rows.Add(2, "Jane Doe", "Marketing");

// Create Departments table
DataTable departmentsTable = new DataTable("Departments");
departmentsTable.Columns.Add("DepartmentName", typeof(string));
departmentsTable.Columns.Add("Budget", typeof(decimal));
departmentsTable.Rows.Add("Sales", 100000m);
departmentsTable.Rows.Add("Marketing", 75000m);

// Add both tables to DataSet
dataSet.Tables.Add(employeesTable);
dataSet.Tables.Add(departmentsTable);

// Convert to Excel -- each DataTable becomes a worksheet
WorkBook workBook = WorkBook.Create();
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook);

// Rename worksheets for clarity
workBook.WorkSheets[0].Name = "Employee List";
workBook.WorkSheets[1].Name = "Department Budgets";

workBook.SaveAs("CompanyData.xlsx");

Cada DataTable no seu DataSet torna-se uma planilha separada no arquivo Excel, mantendo a separação lógica dos seus dados. Esta abordagem é particularmente útil para criar relatórios que exigem planilhas individuais para diferentes categorias de dados, todos dentro de um único arquivo.

Quais São as Convenções e Limitações de Nomes de Planilhas?

Livro de Excel mostrando planilha Lista de Empregados com nomes de empregados e departamentos em uma estrutura de múltiplas planilhas com a aba de Orçamentos de Departamentos visível

Department Budgets worksheet displaying Sales ($100,000) and Marketing ($75,000) budget allocations in a clean tabular format

Os nomes das planilhas do Excel devem ter 31 caracteres ou menos e não podem conter caracteres especiais como :, \, /, ?, *, [ ou ]. O IronXL sanitiza automaticamente os nomes inválidos, mas implementar sua própria validação garante consistência na nomenclatura entre as exportações. Para uma visão completa das operações de planilhas, veja o guia do IronXL sobre como mesclar células e tarefas de formatação relacionadas.

Para livros com múltiplas planilhas, adote uma estratégia de nomenclatura que inclua prefixos para categorização e carimbos de tempo para versionamento. Isso torna os livros mais fáceis de navegar e auditar em cenários de relatórios automatizados.

Como Manter Relacionamentos Entre DataTables no Excel?

Embora o Excel não suporte diretamente relacionamentos de DataSet, você pode adicionar hyperlinks entre planilhas relacionadas ou usar fórmulas VLOOKUP para referenciar dados cruzados. Uma planilha de resumo com links de navegação para todas as planilhas de dados também melhora consideravelmente a experiência do usuário.

A tabela a seguir resume as abordagens recomendadas para cenários comuns de múltiplas tabelas:

Estratégias para Exportações Excel de Múltiplas DataTables
CenárioEstratégia RecomendadaRecurso do IronXL
Dados de pai-filhoPlanilhas separadas com referências cruzadas VLOOKUPLoadWorkSheetsFromDataSet
Resumo + detalhePlanilha de resumo com hiperlinks para folhas de detalheWorkSheet.Name + API de hiperlink
Instantâneos versionadosNomes de planilhas prefixados por timestampAtribuição de WorkSheet.Name
Exportações grandes de múltiplas tabelasProcessamento em lote paginado por tabelaWorkBook.Create + SaveAs incremental

Como Adicionar Formatação à Sua Exportação do Excel?

O IronXL lida automaticamente com a formatação básica, mas você pode aprimorar suas exportações do Excel com estilos adicionais para criar relatórios de aparência profissional:

using IronXL;

// Assume workBook is already populated from DataSet
WorkSheet worksheet = workBook.WorkSheets[0];

// Style the header row
IronXL.Range headerRange = worksheet.GetRange("A1:D1");
headerRange.Style.Font.Bold = true;
headerRange.Style.BackgroundColor = "#4472C4";
headerRange.Style.Font.Color = "#FFFFFF";

// Format currency column (column C, rows 2 onward)
for (int rowIndex = 1; rowIndex < worksheet.RowCount; rowIndex++)
{
    worksheet[$"C{rowIndex + 1}"].FormatString = "$#,##0.00";
}

// Add borders to the data range
IronXL.Range dataRange = worksheet.GetRange($"A1:D{worksheet.RowCount}");
dataRange.Style.Border.TopBorder.Type = IronXL.Styles.BorderType.Thin;
dataRange.Style.Border.BottomBorder.Type = IronXL.Styles.BorderType.Thin;

workBook.SaveAs("FormattedExport.xlsx");

Essas opções de formatação transformam exportações de dados simples em planilhas de aparência profissional. As capacidades de estilização incluem propriedades de fonte, cores, bordas e formatos numéricos, permitindo criar exportações que correspondam aos padrões de relatório da sua organização. Para mais informações sobre formatação em nível de célula, consulte o guia de formatação de células do IronXL .

Como a Formatação Afeta o Tamanho do Arquivo e o Desempenho?

Exportação Excel formatada mostrando dados de empregados com cabeçalhos estilizados, alinhamento de colunas adequado, e aparência profissional em múltiplas planilhas

A formatação adiciona sobrecarga mínima -- tipicamente 5-10% ao tamanho do arquivo. Aplique formatação seletivamente a cabeçalhos e linhas de resumo em vez de colunas inteiras para desempenho ideal. Operações de estilo em lote usando intervalos em vez de formatação célula por célula. Para exportações em larga escala, considere implementar modelos de estilo que podem ser aplicados de forma consistente em várias planilhas.

Para relatórios automatizados, formatação condicional, barras de dados e escalas de cores fornecem insights visuais sem intervenção manual. Cores de linhas alternadas melhoram a legibilidade e painéis congelados ajudam os usuários a navegar em grandes conjuntos de dados. A documentação do IronXL cobre todas as opções de estilo e layout disponíveis.

Quais Recursos de Formatação Funcionam Melhor em Relatórios Automatizados?

Formatação condicional e escalas de cores fornecem dicas visuais com base nos valores dos dados, melhorando a legibilidade sem trabalho manual. Painéis congelados para linhas de cabeçalho em grandes conjuntos de dados melhoram a navegação, e as opções de configuração de impressão garantem que relatórios automatizados sejam impressos corretamente sem ajustes manuais.

Para relatórios agendados ou dirigidos por pipeline, combine estilização de cabeçalhos, formatação de números e colunas autoajustáveis em um método auxiliar reutilizável. Isso mantém o código de exportação consistente em múltiplos tipos de relatórios e reduz a sobrecarga de manutenção.

O Que Você Deve Saber Antes de Implementar em Produção?

Antes de implantar um pipeline de DataSet para Excel em produção, verifique as seguintes considerações:

Licenciamento: O IronXL requer uma chave de licença válida para uso em produção. Você pode começar com uma licença de avaliação gratuita e atualizar para um plano pago conforme necessário. Os níveis de licença são detalhados na página de licenciamento do IronXL.

Tratamento de erros: Implemente blocos try-catch em torno da criação de planilhas e operações de salvamento de arquivos. Valide o conteúdo de DataSet - especificamente que tabelas e colunas não sejam nulas - antes de passar para o IronXL. Registre falhas com contexto suficiente para diagnosticar problemas em produção.

Gerenciamento de caminhos de arquivos: Em ambientes conteinerizados, use variáveis de ambiente ou montagens de volume para caminhos de saída. Evite caminhos codificados que podem não existir em todos os alvos de implantação. Aqui está um padrão amigável a contêineres:

using IronXL;

string outputPath = Environment.GetEnvironmentVariable("EXCEL_OUTPUT_PATH") ?? "/app/output";
string fileName = System.IO.Path.Combine(outputPath, $"Export_{Guid.NewGuid()}.xlsx");
workBook.SaveAs(fileName);

Suporte a plataforma: Verifique se o seu ambiente de destino está listado na página de recursos do IronXL. O IronXL oferece suporte nativo para Windows, Linux, macOS, Docker, AWS e Azure.

Recapitulação dos principais benefícios:

  • Sem dependências do Microsoft Office -- adequado para implantações em servidor e contêiner
  • Suporte para múltiplos formatos Excel (XLSX, XLS, CSV, TSV)
  • Criação automática de planilhas a partir de DataTables
  • Compatibilidade multiplataforma para implantações em nuvem e contêiner
  • API intuitiva que requer código mínimo para converter DataSets completo

Para explorar recursos adicionais, como criação de gráficos, suporte a fórmulas e formatação avançada, visite a documentação do IronXL e a biblioteca de tutoriais do IronXL .

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

Artigos relacionados

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.