USANDO O IRONXL

Como trabalhar com arquivos do Excel em C#: Figura 1 - Tutorial

Curtis Chau
Curtis Chau
Updated: 28 de junho de 2026

IronXL é uma poderosa biblioteca C# que permite aos desenvolvedores ler, escrever e manipular arquivos do Excel sem exigir instalação do Microsoft Excel, oferecendo compatibilidade entre plataformas e suportando formatos como XLS, XLSX, CSV com uma API intuitiva.

Como eu trabalho com Airbus em C#?

  1. Crie um projeto no Visual Studio e adicione o pacote NuGet do IronXL.
  2. Crie um arquivo Excel sem Interop.
  3. Adicione estilo ao arquivo Excel usando o IronXL.
  4. Leia valores do Excel e calcule.
  5. Converta o Excel em HTML para uso na web.

O que é a Biblioteca IronXL?

IronXL é uma biblioteca robusta para .NET que simplifica o trabalho com arquivos Excel. Ela possui uma API intuitiva que simplifica a manipulação de documentos Excel, suportando vários formatos como XLS, XLSX, e CSV. Essa versatilidade permite manipulação fácil de valores de células, fórmulas e formatação. IronXL é otimizado para desempenho, capaz de lidar eficientemente com arquivos grandes e operações complexas, garantindo o uso eficiente da memória. Sua compatibilidade entre plataformas melhora sua utilidade em diferentes sistemas operacionais. Aqui estão suas principais características e benefícios:

Quais São os Recursos Principais do IronXL?

  1. Importação e Exportação:

  2. Manipulação de Dados:

  3. Estilização e Formatação:

  4. Segurança:

  5. Compatibilidade Cross Platform:

Por Que Devo Escolher IronXL Em Vez de Outras Bibliotecas de Excel?

  1. Não Precisa do Microsoft Office: IronXL não requer que o Microsoft Office seja instalado, tornando-o leve e fácil de implantar.
  2. Facilidade de Uso: A API é intuitiva e fácil de usar, permitindo que os desenvolvedores integrem rapidamente funcionalidades do Excel em suas aplicações.
  3. Desempenho: IronXL é otimizado para desempenho, garantindo processamento rápido e eficiente de arquivos Excel grandes.
  4. Versatilidade: Adequado para uma ampla gama de aplicações, incluindo soluções web, desktop e baseadas em nuvem.
  5. Documentação Abrangente: Documentação extensa e exemplos estão disponíveis, facilitando para os desenvolvedores começarem e encontrarem soluções para problemas comuns.

Como Começo com o IronXL?

Para usar o IronXL em seus projetos .NET, você precisa garantir que seu ambiente de desenvolvimento atenda aos seguintes pré-requisitos:

Quais São os Pré-requisitos para usar o IronXL?

  1. .NET Framework: IronXL suporta .NET Framework 4.5 e acima.
  2. .NET Core e .NET Standard: Compatível com .NET Core 2, 3, 5, 6, 7, 8 e 9.
  3. Sistemas Operacionais: Funciona em Windows, macOS e Linux. Compatível com Docker, Azure e AWS.
  4. Não Precisa do Microsoft Office: IronXL não requer Office ou Excel Interop.
  5. Editor de código: Qualquer editor de código C# como Visual Studio.

Como Instalo o IronXL no Meu Projeto?

Você pode instalar o IronXL via NuGet Package Manager no Visual Studio ou usando o Package Manager Console com o seguinte comando:

> dotnet add package IronXL.Excel --version 2024.8.5

Para instruções detalhadas de instalação, incluindo configuração para Blazor, .NET MAUI, ou projetos VB.NET, consulte a documentação oficial.

Como Crio Meu Primeiro Arquivo Excel com IronXL?

Vamos desenvolver um projeto no Visual Studio e adicionar a biblioteca IronXL para começar a trabalhar em um arquivo Excel.

Como Crio um Projeto Visual Studio e Adiciono o IronXL?

Abra o Microsoft Visual Studio e selecione 'Criar um novo projeto' para começar.

Tela inicial do Visual Studio 2022 mostrando opções para abrir projetos recentes, clonar um repositório, abrir um projeto/solução, abrir uma pasta local ou criar um novo projeto.

Selecione o modelo de projeto de sua escolha. Aqui, selecionamos Aplicativo de Console por simplicidade.

Diálogo 'Criar um novo projeto' do Visual Studio mostrando opções de Console App para C#, com versões tanto do .NET Core quanto do .NET Framework disponíveis.

Agora, insira o nome e a localização do projeto.

Diálogo de configuração de projeto do Visual Studio mostrando configurações para um novo aplicativo de console C# chamado 'WorkingWith IronXL' direcionado para múltiplas plataformas incluindo Windows, Linux e macOS.

Selecione a versão do .NET Framework que você preferir. Selecionamos a mais recente disponível em nossa máquina.

Diálogo de criação de projeto do Visual Studio mostrando configuração de Console App com o framework .NET 8.0 selecionado e opções adicionais para statements de nível superior e publicação AOT

Uma vez que você clicar no botão Criar, o projeto será criado e estará pronto para uso. Abra o Solution Explorer para verificar os arquivos do projeto.

Gerenciador de Pacotes NuGet do Visual Studio mostrando a instalação do pacote IronXL.Excel com a versão 2024.8.5 selecionada para um projeto C# chamado WorkingWith IronXL

Agora, vamos instalar a biblioteca IronXL do gerenciador de pacotes NuGet como mostrado acima.

Como Crio um Arquivo Excel Sem Interop?

Agora vamos criar um arquivo Excel sem usar a biblioteca Microsoft Interop. IronXL fornece uma maneira simples e intuitiva de criar planilhas programaticamente.

using IronXL;

namespace WorkingWith IronXL
{
    public class Program
    {
        public static void Main()
        {
            // Create new Excel WorkBook Object
            WorkBook workBook = WorkBook.Create();
            // Create WorkSheet
            WorkSheet workSheet = workBook.CreateWorkSheet("newXlDemo");
            // Add data in new worksheet
            workSheet["A1"].Value = "IronXL is the best Excel library";           
            // Save the Excel file as XLSX
            workBook.SaveAs("myIronXlDemo.xlsx");
        }
    }
}

Explicação do código

  1. Adicionamos o namespace do IronXL para começar a trabalhar com a biblioteca.
  2. Crie um objeto Excel com WorkBook.Create() para criar um arquivo XLSX.
  3. Chame o método CreateWorkSheet para criar uma planilha dentro do livro de trabalho.
  4. Adicione valores às células usando workSheet["A1"].Value.
  5. Salve o arquivo Excel usando workBook.SaveAs fornecendo um nome de arquivo.

Arquivo Excel de Saída

Planilha Excel mostrando o texto 'IronXL é a melhor biblioteca de Excel' na célula A1, demonstrando a criação programática de arquivo Excel usando IronXL em C#.

Por que o IronXL não requer Interop?

Ao contrário das abordagens tradicionais que dependem do Microsoft Excel Interop, o IronXL é uma biblioteca .NET independente que lê e escreve arquivos Excel diretamente. Isso significa:

  • Não é necessária a instalação do Microsoft Office
  • Melhor desempenho e uso de memória
  • Compatibilidade multiplataforma (Linux, macOS, Docker)
  • Sem problemas de limpeza de objetos COM
  • Operações seguras para threads

Para quais formatos de arquivo posso salvar?

O IronXL suporta salvar em vários formatos:

// Save as different Excel formats
workBook.SaveAs("file.xlsx"); // Excel 2007+ format
workBook.SaveAs("file.xls");  // Excel 97-2003 format
workBook.SaveAs("file.xlsm"); // Excel with macros

// Export to other formats
workBook.SaveAsCsv("file.csv", ",");  // CSV with comma delimiter
workBook.SaveAsJson("file.json");     // JSON format
workBook.SaveAsXml("file.xml");       // XML format

Como faço para lidar com erros durante a criação de arquivos?

O IronXL oferece um tratamento de erros abrangente. Aqui está um exemplo de prática recomendada:

try 
{
    WorkBook workBook = WorkBook.Create();
    WorkSheet workSheet = workBook.CreateWorkSheet("Demo");
    workSheet["A1"].Value = "Sample Data";
    
    // Check if directory exists
    string directory = @"C:\ExcelFiles\";
    if (!Directory.Exists(directory))
    {
        Directory.CreateDirectory(directory);
    }
    
    workBook.SaveAs(Path.Combine(directory, "output.xlsx"));
}
catch (Exception ex)
{
    Console.WriteLine($"Error creating Excel file: {ex.Message}");
}

Como adiciono estilos aos arquivos Excel usando o IronXL?

Agora vamos ver como adicionar estilos a células do Excel. O IronXL oferece opções de estilo abrangentes para criar planilhas de aparência profissional.

using IronXL;

namespace WorkingWith IronXL
{
    public class Program
    {
        public static void Main()
        {
            // Create a new workbook
            WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
            // Create a new worksheet
            WorkSheet workSheet = workBook.CreateWorkSheet("StyledSheet");
            // Add multiple values to cells
            workSheet["A1"].Value = "This Styled Text with Awesome IronXL library";
            workSheet["A2"].Value = 999999;
            // Apply styles to cells
            workSheet["A1"].Style.Font.Bold = true;
            workSheet["A1"].Style.Font.Italic = true;
            workSheet["A1"].Style.Font.Height = 14;
            workSheet["A1"].Style.Font.Color = "#FF0000"; // Red color
            workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
            workSheet["A2"].Style.BottomBorder.SetColor("#00FF00"); // Green color
            // Save the workbook
            workBook.SaveAs("myIronXlWriteDemo.xlsx");
        }
    }
}

Explicação do código

  1. Crie um arquivo Excel usando WorkBook.Create.
  2. Crie uma planilha usando workBook.CreateWorkSheet.
  3. Adicione valores às células usando workSheet["A1"].Value.
  4. Adicione estilos às células usando propriedades como workSheet["A1"].Style.Font.Bold.
  5. Salve o livro de trabalho usando workBook.SaveAs.

Arquivo Excel de Saída

Planilha Excel mostrando texto vermelho em itálico 'Este Texto Estilizado com a impressionante biblioteca IronXL' na célula A1, com '999999' em texto verde na célula A2.

Quais Opções de Estilização Estão Disponíveis?

O IronXL oferece opções de estilo extensivas, incluindo:

Como aplico estilos a várias células?

Você pode aplicar estilos a intervalos de células de forma eficiente:

// Apply styles to a range
var range = workSheet["A1:D10"];
foreach (var cell in range)
{
    cell.Style.Font.Bold = true;
    cell.Style.Font.Color = "#0000FF"; // Blue
    cell.Style.SetBackgroundColor("#FFFF00"); // Yellow background
}

Posso usar formatação condicional?

Sim, o IronXL suporta formatação condicional:

// Add conditional formatting rule
var rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule(
    ComparisonOperator.GreaterThan, "100");
rule.FontFormatting.Bold = true;
rule.FontFormatting.FontColor = "#FF0000"; // Red for values > 100
workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule);

Como leio valores do Excel e calculo?

Agora vamos ver como ler arquivos Excel usando o IronXL e realizar cálculos. O IronXL suporta várias funções matemáticas para análise de dados.

using IronXL;
using System;

namespace WorkingWith IronXL
{
    internal class IronXlDemo
    {
        public static void ReadData()
        {
            // Load the Excel worksheet
            WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
            // Select the first worksheet
            WorkSheet workSheet = workBook.WorkSheets[0];
            // Read a specific cell value
            int cellValue = workSheet["A2"].IntValue;
            Console.WriteLine($"Value in A2: {cellValue}");
            // Read a range of cells
            foreach (var cell in workSheet["A1:H10"])
            {
                Console.Write($"{cell.Text}\t");
                if(cell.AddressString.Contains("H"))
                {
                    Console.WriteLine();
                }
            }
            // Calculate aggregate values
            decimal sum = workSheet["F2:F10"].Sum();
            Console.WriteLine($"Sum of F2:F10: {sum}");
        }
    }
}

Explicação do código

  1. Load an Excel file using WorkBook.Load.
  2. Acesse a primeira planilha do livro.
  3. Leia o valor de uma célula específica e exiba-o usando Console.WriteLine.
  4. Percorra um intervalo de células e imprima cada valor. Imprima novas linhas após a coluna H.
  5. Calcule a soma dos valores no intervalo F2:F10 e imprima-a.

Excel de Entrada

Planilha Excel mostrando dados de funcionários com colunas para ID, Primeiro Nome, Sobrenome, Gênero, País, Idade, Data e um identificador único, exibindo 9 linhas de registros de funcionários de exemplo.

Saída

Saída do console mostrando uma tabela de dados com 10 linhas de registros de pessoas incluindo nomes, gênero, país, idade, data e campos de ID, seguida por um cálculo de soma da coluna F2:F10 igualando 323.

Quais Tipos de Dados Posso Ler das Células?

IronXL suporta a leitura de vários tipos de dados das células:

// Different ways to read cell values
string textValue = workSheet["A1"].StringValue;
int intValue = workSheet["B1"].IntValue;
decimal decimalValue = workSheet["C1"].DecimalValue;
double doubleValue = workSheet["D1"].DoubleValue;
DateTime dateValue = workSheet["E1"].DateTimeValue;
bool boolValue = workSheet["F1"].BoolValue;

// Read formula results
string formulaResult = workSheet["G1"].FormattedCellValue;

Como Lido com Células Vazias ou Nulas?

IronXL oferece maneiras seguras de lidar com células vazias:

// Check if cell is empty
if (workSheet["A1"].IsEmpty)
{
    Console.WriteLine("Cell A1 is empty");
}

// Use null-coalescing for safe value reading
string value = workSheet["A1"].StringValue ?? "Default Value";

// Check for specific content types
if (workSheet["B1"].IsNumeric)
{
    decimal numValue = workSheet["B1"].DecimalValue;
}

Quais Funções Agregadas Estão Disponíveis?

IronXL suporta várias funções agregadas:

// Available aggregate functions
decimal sum = workSheet["A1:A10"].Sum();
decimal avg = workSheet["A1:A10"].Avg();
decimal min = workSheet["A1:A10"].Min();
decimal max = workSheet["A1:A10"].Max();
int count = workSheet["A1:A10"].Count();

Como Converto Excel para HTML para Uso na Web?

Vamos ver como converter Excel para HTML para uso na web. Isso é particularmente útil para exibir dados do Excel em aplicações web.

using IronXL;
using IronXL.Options;

namespace WorkingWith IronXL
{
    internal class IronXlDemo
    {
        public static void ConvertToHtml()
        {
            WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
            var options = new HtmlExportOptions()
            {
                // Set row/column numbers visible in HTML document
                OutputRowNumbers = true,
                OutputColumnHeaders = true,
                // Set hidden rows/columns visible in HTML document
                OutputHiddenRows = true,
                OutputHiddenColumns = true,
                // Set leading spaces as non-breaking
                OutputLeadingSpacesAsNonBreaking = true
            };
            // Export workbook to the HTML file
            workBook.ExportToHtml("workBook.html", options);
        }
    }
}

Explicação do código

  1. Carregue o arquivo Excel usando o método Load.
  2. Defina opções para conversão HTML usando HtmlExportOptions.
  3. Use o método ExportToHtml para converter e salvar como HTML.

Entrada

Planilha Excel mostrando dados de funcionários de exemplo com colunas para ID, Primeiro Nome, Sobrenome, Gênero, País, Idade, Data e Id, contendo 9 linhas de informações de funcionários.

Saída

Tabela HTML exibindo dados do Excel com colunas para Primeiro Nome, Sobrenome, Gênero, País, Idade, Data e Id, mostrando 9 linhas de dados de funcionários de exemplo.

Quais Opções de Exportação para HTML Estão Disponíveis?

IronXL oferece várias opções de exportação para HTML:

var htmlOptions = new HtmlExportOptions()
{
    // Table formatting options
    OutputRowNumbers = true,
    OutputColumnHeaders = true,
    
    // Visibility options  
    OutputHiddenRows = false,
    OutputHiddenColumns = false,
    
    // Formatting preservation
    OutputLeadingSpacesAsNonBreaking = true,
    
    // Custom CSS class
    TableCssClass = "excel-table"
};

Como Preservo a Formatação no HTML?

IronXL preserva automaticamente a formatação básica ao exportar para HTML. Para preservação de formatação avançada:

// Export with inline CSS styles
workBook.ExportToHtml("styled.html", new HtmlExportOptions
{
    OutputRowNumbers = false,
    OutputColumnHeaders = true,
    // Preserves cell styles as inline CSS
    PreserveStyles = true
});

Posso Exportar Apenas Planilhas Específicas?

Sim, você pode exportar planilhas individuais:

// Export specific worksheet
WorkSheet sheet = workBook.GetWorkSheet("Sheet1");
sheet.SaveAsHtml("sheet1.html");

// Export multiple specific sheets
foreach (var sheetName in new[] { "Sheet1", "Sheet3" })
{
    workBook.GetWorkSheet(sheetName).SaveAsHtml($"{sheetName}.html");
}

Quais São os Casos de Uso no Mundo Real para o IronXL?

IronXL é uma biblioteca .NET versátil com uma ampla gama de aplicações no mundo real, incluindo:

1. Relatórios Empresariais:

  • Automatização de relatórios periódicos como resumos de vendas e demonstrações financeiras.
  • Criação de painéis personalizados a partir de várias fontes de dados.
  • Exportação de dados para Excel para apresentações a stakeholders.

2. Análise de Dados:

3. Gestão de Inventário:

  • Gestão de inventários de produtos com níveis de estoque e detalhes dos fornecedores.
  • Geração de relatórios de inventário para acompanhar tendências.
  • Importação de dados CSV de fornecedores.

4. Gestão de Relacionamento com o Cliente (CRM):

5. Instituições Educacionais:

  • Criação de livros de notas de alunos e registros de presença.
  • Geração de resultados de exames e análise de desempenho.
  • Uso de fórmulas para calcular notas automaticamente.

6. Serviços Financeiros:

  • Automação de modelos financeiros, orçamentos e previsões.
  • Consolidação de dados financeiros para relatórios abrangentes.
  • Criação de gráficos para análise visual.

7. Recursos Humanos:

  • Gerenciamento de dados de funcionários, incluindo folha de pagamento e avaliações.
  • Gerando relatórios sobre métricas de RH e demografia.
  • Protegendo dados sensíveis com criptografia de senha.

8. Gerenciamento de Projetos:

  • Acompanhamento de cronogramas de projetos e alocação de recursos.
  • Criando gráficos de Gantt e ferramentas de gerenciamento de projetos.
  • Usando intervalos nomeados para gerenciamento de fórmulas.

9. Comércio eletrônico:

  • Exportando detalhes de pedidos, informações de clientes e dados de vendas de plataformas de e-commerce para o Excel.
  • Analisando tendências de vendas, comportamento do cliente e desempenho do produto.

10. Saúde:

  • Gerenciamento de registros de pacientes e agendamentos.
  • Analisando dados de saúde para melhorar o atendimento ao paciente.
  • Protegendo dados de pacientes com proteção de planilha.

Quais Indústrias se Beneficiam Mais do IronXL?

Indústrias que lidam com grandes quantidades de dados estruturados se beneficiam mais:

Como o IronXL Lida com Processamento de Dados em Larga Escala?

IronXL é otimizado para desempenho com:

  • Gerenciamento eficiente de memória para arquivos grandes
  • Capacidades de streaming para conjuntos de dados grandes
  • Suporte a processamento em segundo plano
  • Operações seguras para múltiplas threads

Quais são os Cenários Comuns de Integração?

Cenários comuns de integração incluem:

Como Licenciar o IronXL para Uso em Produção?

IronXL é uma biblioteca empresarial da Iron Software. Requer uma licença para execução. Você pode baixar uma licença de teste usando seu ID de email aqui. Ao enviar, a licença é entregue ao seu email. Coloque essa licença no início do seu código, antes de usar o IronXL:

License.LicenseKey = "your Key Here";

Quais Tipos de Licença Estão Disponíveis?

IronXL oferece vários tipos de licença:

  • Lite License: Para desenvolvedores individuais
  • Licença Professional: Para pequenas equipes
  • Enterprise License: Para grandes organizações
  • SaaS License: Para aplicações baseadas em nuvem
  • OEM License: Para redistribuição

Como Aplicar a Chave de Licença?

Você pode aplicar a chave de licença de várias maneiras:

// Method 1: In code
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY";

// Method 2: Using app.config or web.config
// Add to configuration file:
// <appSettings>
//   <add key="IronXL.LicenseKey" value="YOUR-LICENSE-KEY"/>
// </appSettings>

// Method 3: Using environment variable
Environment.SetEnvironmentVariable("IRONXL_LICENSE_KEY", "YOUR-LICENSE-KEY");

Para aplicações web, você também pode configurar a licença no Web.config.

O que acontece quando o teste expira?

Quando o teste expira:

  • Uma marca d'água aparece nos arquivos gerados
  • Alguns recursos podem ser limitados
  • A implantação em produção não é permitida

Para continuar usando o IronXL, compre uma licença comercial. A equipe oferece extensões de licença e atualizações para clientes existentes.

O que Aprendemos sobre Trabalhar com Arquivos Excel em C#?

O IronXL é uma poderosa biblioteca .NET para criar, ler e editar arquivos Excel, oferecendo uma API intuitiva que simplifica o trabalho com documentos Excel. Ele suporta múltiplos formatos, incluindo XLS, XLSX e CSV, tornando-o versátil para vários casos de uso. O IronXL permite fácil manipulação de valores de células, fórmulas e formatação, otimizado para desempenho, manuseando eficientemente grandes arquivos e operações complexas. Sua gestão de memória garante aplicativos responsivos, e sua compatibilidade multiplataforma o torna valioso para desenvolvedores em diferentes sistemas operacionais.

Quer você esteja criando aplicações web, software de desktop, ou serviços na nuvem, o IronXL fornece as ferramentas necessárias para trabalhar efetivamente com arquivos Excel em C#. Para recursos mais avançados, consulte a documentação completa e explore os amplos exemplos de código.

Principais conclusões:

Mantenha-se atualizado com os últimos recursos e melhorias conferindo o changelog e os marcos para os contínuos aprimoramentos do IronXL.

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