USANDO O IRONXL

Como abrir arquivos do Excel em C#

Curtis Chau
Curtis Chau
Updated: 28 de junho de 2026

IronXL permite que desenvolvedores C# abram, leiam e manipulem arquivos Excel sem precisar instalar o Microsoft Office. Basta carregar os livros de trabalho usando WorkBook.Load(), acessar planilhas e ler valores de células com uma sintaxe intuitiva como sheet["A1"].

Este tutorial explora o uso do IronXL para abrir e ler arquivos Excel em projetos C#, fornecendo exemplos abrangentes e práticas recomendadas para desenvolvedores juniores trabalhando com dados do Excel.

O que é a Biblioteca Excel IronXL?

IronXL é uma biblioteca .NET que prioriza facilidade de uso, precisão e velocidade. Ela ajuda você a abrir, ler, criar e editar arquivos Excel eficientemente sem precisar do MS Office Interop, tornando-se uma escolha prática para desenvolvedores que buscam trabalhar com Excel em C# sem Interop.

IronXL é compatível com todos os .NET Frameworks juntamente com Linux, macOS, Docker, Azure, e AWS. Você pode usá-la para criar Aplicações de Console, Web e Desktop, como Blazor e .NET MAUI para aplicativos Web modernos. Ela suporta diferentes formatos de workbook como arquivos XLS e XLSX, XSLT e XLSM, CSV, e TSV.

Quais são os principais recursos do IronXL?

Como Abrir um Arquivo Excel em C#?

O que preciso antes de começar?

Para usar o IronXL em aplicações C#, instale os seguintes componentes no seu computador local:

  1. Visual Studio - O IDE oficial para desenvolvimento de aplicações .NET em C#. Você pode baixar e instalar o Visual Studio no site da Microsoft. Você também pode usar JetBrains ReSharper & Rider. Para orientações adicionais de configuração, consulte o Visão Geral de Introdução.
  2. IronXL - A biblioteca Excel que ajuda a trabalhar com planilhas Excel em C#. Deve ser instalada em sua aplicação C# antes de usá-la. Você pode baixá-lo do site do NuGet ou do Gerenciador de Pacotes NuGet no Visual Studio. Você também pode baixar o arquivo .NET Excel DLL diretamente. Para implementação de licenças, consulte Usando Chaves de Licença.

Quais Namespaces Devo Importar?

Uma vez que o Visual Studio e o IronXL estejam instalados, adicione os namespaces necessários do IronXL incluindo a seguinte linha no topo do seu arquivo C#:

// Add reference to the IronXL library
using IronXL;

Para trabalhar com formatos Excel específicos ou recursos avançados, você também pode precisar de:

using IronXL.Formatting;  // For cell styling
using IronXL.Drawing;     // For images and charts
using System.Data;        // For DataSet/DataTable operations

Como Carregar um Arquivo Excel Existente?

Arquivos Excel, também conhecidos como cadernos de trabalho, consistem em várias planilhas, cada uma contendo valores de células. Para abrir e ler um arquivo Excel, carregue-o usando o método Load da classe WorkBook. A funcionalidade LoadSpreadsheets suporta vários formatos.

// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");

// You can also load from streams for web applications
// using (var stream = File.OpenRead("test.xlsx"))
// {
//     WorkBook workbook = WorkBook.Load(stream);
// }

Isso inicializa o livro de trabalho como uma instância de WorkBook. Para abrir uma WorkSheet específica, recupere-a da coleção WorkSheets. O guia Manage Worksheet fornece mais detalhes sobre operações de planilha:

// Access the first worksheet in the workbook
WorkSheet sheet = workbook.WorkSheets.First();

// Alternative ways to access worksheets
WorkSheet sheetByIndex = workbook.WorkSheets[0];  // By index
WorkSheet sheetByName = workbook.GetWorkSheet("Sheet1");  // By name

Isso acessa a primeira planilha no arquivo Excel, pronta para leitura e escrita.

Planilha do Excel mostrando dados de empregados com colunas para Nome, Designação e Salário de 5 empregados com cabeçalhos formatados e bordas de célula Arquivo Excel

Como Ler Dados de Células do Excel?

Uma vez que o arquivo Excel esteja aberto, está pronto para leitura de dados. Ler dados de arquivos Excel em C# usando IronXL é direto. Você pode ler valores de células especificando a referência da célula usando a funcionalidade Select Range.

O código a seguir recupera o valor de uma célula:

// Select the cell using Excel notation and retrieve its integer value
int cellValue = sheet["C2"].IntValue;

// You can also retrieve values in different formats
string textValue = sheet["C2"].StringValue;
decimal decimalValue = sheet["C2"].DecimalValue;
DateTime dateValue = sheet["C2"].DateTimeValue;
bool boolValue = sheet["C2"].BoolValue;

// Display the value in the console
Console.WriteLine($"Cell C2 contains: {cellValue}");

// Check if cell is empty before reading
if (!sheet["C2"].IsEmpty)
{
    Console.WriteLine($"Cell value: {sheet["C2"].Value}");
}

O resultado é o seguinte:

Janela do Console de Depuração do Microsoft Visual Studio mostrando a extração bem-sucedida do valor '100000' da célula C2 do Excel com mensagem de saída contextual Leia o Excel

Para ler dados de um intervalo de células, use um loop para iterar pelo intervalo especificado. O exemplo Select Excel Range fornece mais padrões:

// Iterate through a range of cells and display their address and text content
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}

// Read an entire column
foreach (var cell in sheet.GetColumn(0))  // Column A
{
    if (!cell.IsEmpty)
    {
        Console.WriteLine($"Column A value: {cell.Text}");
    }
}

// Read an entire row
foreach (var cell in sheet.GetRow(1))  // Row 2
{
    Console.WriteLine($"Row 2 value: {cell.Text}");
}

Cada valor no intervalo de células A2:A6 é acessado e impresso no console.

Console de Depuração do Microsoft Visual Studio com realce de sintaxe mostrando a saída da leitura do intervalo do Excel A2:A6, exibindo os nomes dos empregados John, Sara, Peter, Method e Katherine Intervalo de leitura de células

Para exemplos mais detalhados de leitura e escrita, consulte o tutorial de leitura do Excel em C#. Você também pode converter dados do Excel para DataTables para facilitar a manipulação:

// Convert worksheet to DataTable for easier data manipulation
DataTable dataTable = sheet.ToDataTable(true);  // true = first row contains headers

// Access data using DataTable methods
foreach (DataRow row in dataTable.Rows)
{
    Console.WriteLine($"Employee: {row["Name"]}, Salary: {row["Salary"]}");
}

Como Posso Criar um Novo Arquivo Excel?

O IronXL também facilita a criação de novos cadernos de trabalho para salvamento e recuperação de dados. O guia Create Spreadsheets fornece exemplos abrangentes.

Você pode criar um novo arquivo Excel com uma única linha de código:

// Create a new workbook with the XLSX format
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);

// Alternative: Create with XLS format for compatibility
WorkBook xlsWorkBook = new WorkBook(ExcelFileFormat.XLS);

// Set workbook metadata
workBook.Metadata.Title = "Employee Data";
workBook.Metadata.Author = "Your Name";
workBook.Metadata.Keywords = "employees, salary, data";

Em seguida, crie uma planilha e adicione dados a ela. Para padrões de criação mais avançados, veja Create a new Excel File.

Como Adicionar Planilhas a um Caderno de Trabalho?

// Create a worksheet named "GDPByCountry" in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");

// Create multiple worksheets at once
WorkSheet sheet2 = workBook.CreateWorkSheet("PopulationData");
WorkSheet sheet3 = workBook.CreateWorkSheet("Summary");

// Copy an existing worksheet
WorkSheet copiedSheet = workSheet.CopySheet("GDPByCountryCopy");

Este código adiciona uma planilha chamada "GDPByCountry" ao caderno de trabalho, permitindo adicionar valores de células. Saiba mais sobre gerenciamento de planilhas e cópia de planilhas.

Para definir um valor para uma célula específica, use o código abaixo:

// Set the value of cell A1 to "Example"
workSheet["A1"].Value = "Example";

// Add different types of data
workSheet["A2"].Value = 12345;  // Integer
workSheet["A3"].Value = 99.99m;  // Decimal
workSheet["A4"].Value = DateTime.Now;  // Date
workSheet["A5"].Value = true;  // Boolean

// Add formulas
workSheet["B1"].Formula = "=SUM(A2:A3)";

// Set multiple cells at once using a range
workSheet["C1:C5"].Value = "Bulk Value";

// Save the workbook
workBook.SaveAs("output.xlsx");

A saída final é:

Planilha do Excel mostrando a célula A1 populada com o texto 'Example', adicionado programaticamente usando C#, com a aba da planilha GDPByCountry visível e célula destacada para mostrar o valor adicionado Adicionar Valor à Célula

Trabalhando com Diferentes Formatos de Excel

IronXL suporta vários formatos Excel. Veja como lidar com diferentes tipos de arquivos:

// Convert between formats
WorkBook workbook = WorkBook.Load("data.csv");
workbook.SaveAs("data.xlsx");  // Convert CSV to XLSX

// Export to different formats
workbook.SaveAsCsv("output.csv", ";");  // CSV with semicolon delimiter
workbook.SaveAsJson("output.json");     // Export as JSON
workbook.SaveAsXml("output.xml");       // Export as XML

Saiba mais sobre conversão de tipos de arquivos de planilha e conversão de XLSX para CSV, JSON, XML.

Tratamento de Erros e Melhores Práticas

Ao trabalhar com arquivos Excel, implemente a manipulação de erros adequada:

try
{
    WorkBook workbook = WorkBook.Load("test.xlsx");
    WorkSheet sheet = workbook.GetWorkSheet("Sheet1");
    
    // Check if sheet exists
    if (sheet == null)
    {
        Console.WriteLine("Worksheet not found!");
        return;
    }
    
    // Process data
    var value = sheet["A1"].Value;
}
catch (Exception ex)
{
    Console.WriteLine($"Error reading Excel file: {ex.Message}");
}

Para aplicativos em produção, considere configurar o registro e implementar padrões adequados de manipulação de erros.

O que aprendemos?

Este artigo demonstra como abrir e ler arquivos Excel, como XLS e XLSX, em C# usando IronXL. IronXL não requer que o Microsoft Excel esteja instalado no sistema para tarefas relacionadas ao Excel, tornando-o perfeito para implementações no Docker e funções Azure.

O IronXL fornece uma solução abrangente para tarefas relacionadas ao Excel programaticamente, incluindo cálculo de fórmulas, ordenação de strings, recorte, localizar e substituir, mesclar e desmesclar, salvar arquivos e mais. Você também pode definir formatos de dados das células, trabalhar com formatação condicional e criar gráficos.

Para recursos avançados, explore agrupar e desagrupar, intervalos nomeados, hyperlinks e proteger arquivos Excel. A Referência da API completa oferece documentação detalhada para todos os recursos.

IronXL está disponível para um teste gratuito de 30 dias e pode ser licenciado para uso comercial. O pacote Lite do IronXL começa a partir de $999. Para recursos adicionais, visite a seção de tutoriais ou explore exemplos de código para cenários comuns.

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