Leitura de Arquivo XLSX em C

This article was translated from English: Does it need improvement?
Translated
View the article in English

Para ler arquivos XLSX em C#, use o método WorkBook.Load do IronXL para abrir arquivos do Excel e acessar planilhas a fim de ler dados das células, realizar cálculos e converter para formatos DataTable ou DataSet programaticamente.

Início Rápido: Carregue um workbook e acesse uma planilha sem esforço

Com o IronXL, você pode carregar um arquivo XLSX usando o método WorkBook.Load em uma única linha. Em seguida, acesse a primeira ou nomeada planilha instantaneamente e comece a ler os valores das células.

  1. Instale IronXL com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronXl.Excel
  2. Copie e execute este trecho de código.

    IronXl.WorkBook workbook = IronXl.WorkBook.Load("your-file.xlsx");
  3. Implante para testar em seu ambiente de produção.

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

    arrow pointer
## Ler arquivos .XLSX em C#
  • Obtenha o IronXL para o seu projeto
  • Carregar um `WorkBook`
  • Acessar dados de um `WorkSheet`
  • Aplicar funções como Soma, Mínimo e Máximo
  • Ler um `WorkSheet` como um DataTable, DataSet e mais
How To Work related to Leitura de Arquivo XLSX em C

Como obtenho o IronXL para o meu projeto?

Use o IronXL no seu projeto para uma maneira simples de trabalhar com formatos de arquivo Excel em C#. Você pode instalar o IronXL via download direto ou alternativamente usar NuGet Install para Visual Studio. O software é gratuito para desenvolvimento.

Install-Package IronXl.Excel

Antes de começar a ler arquivos XLSX, explore a documentação abrangente do IronXL para entender todos os recursos disponíveis. O IronXL suporta tanto os formatos .xls quanto .xlsx, tornando-o versátil para arquivos Excel legados e modernos.


Tutorial de Como Fazer

Como carrego um WorkBook?

WorkBook é a classe do IronXL cujo objeto fornece acesso total ao arquivo do Excel e todas as suas funções. Por exemplo, para acessar um arquivo Excel, use o código:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-load-workbook.cs
using IronXL;

// Load the workbook
WorkBook workBook = WorkBook.Load("sample.xlsx"); // Excel file path
$vbLabelText   $csharpLabel

Por que usar o método WorkBook.Load()?

No código acima, a função WorkBook.Load() carrega sample.xlsx em workBook. Qualquer tipo de função pode ser executada em workBook acessando a planilha específica de um arquivo Excel. O método WorkBook.Load detecta automaticamente o formato do arquivo, seja ele XLS, XLSX, XLSM, XLTX ou CSV. Para cenários de carregamento mais avançados, confira o guia detalhado sobre carregamento de planilhas.


Como acesso uma planilha específica?

Para acessar um específico WorkSheet de um arquivo Excel, o IronXL fornece a classe WorkSheet. Ele pode ser usado de várias maneiras diferentes:

Quais são as diferentes maneiras de acessar uma planilha?

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-worksheet.cs
using IronXL;

// Access sheet by name
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
$vbLabelText   $csharpLabel

workBook é o WorkBook que é declarado na parte acima.

OU

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-worksheet-index.cs
using IronXL;

// Access sheet by index
WorkSheet workSheet = workBook.WorkSheets[0];
$vbLabelText   $csharpLabel

OU

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-default-worksheet.cs
using IronXL;

// Access the default worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
$vbLabelText   $csharpLabel

OU

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-worksheet.cs
using IronXL;
using System.Linq;

// Access the first worksheet
WorkSheet workSheet = workBook.WorkSheets.First();
$vbLabelText   $csharpLabel

OU

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-or-default-worksheet.cs
using IronXL;
using System.Linq;

// Access the first or default worksheet
WorkSheet workSheet = workBook.WorkSheets.FirstOrDefault();
$vbLabelText   $csharpLabel

Quando devo usar cada método de acesso à planilha?

Cada método tem seu caso de uso ideal:

  • GetWorkSheet("name"): Quando você sabe o nome exato da folha
  • WorkSheets[index]: Para iterar através das folhas programaticamente
  • DefaultWorkSheet: Acesso rápido ao trabalhar com arquivos de folha única
  • First() ou FirstOrDefault(): Opções seguras quando os nomes das folhas podem mudar

Depois de obter workSheet da ExcelSheet, você pode obter qualquer tipo de dado dela e executar todas as funções do Excel nela. Para operações mais complexas em planilhas, consulte o guia sobre abrir planilhas do Excel em C#.


Como acesso dados de uma Planilha?

Os dados podem ser acessados da ExcelSheet workSheet com este processo:

Quais tipos de dados posso ler das células?

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-data.cs
using IronXL;

// Accessing data as a string
string dataString = workSheet["A1"].ToString();

// Accessing data as an integer
int dataInt = workSheet["B1"].Int32Value;
$vbLabelText   $csharpLabel

O IronXL fornece vários acessadores de valores para diferentes tipos de dados:

  • StringValue: Para dados de texto
  • Int32Value: Para inteiros
  • DoubleValue: Para decimais
  • DateTimeValue: Para datas
  • BoolValue: Para valores verdadeiro/falso

Como leio várias células de uma vez?

Você também pode obter dados de várias células de uma coluna específica:

foreach (var cell in workSheet["A2:A10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
foreach (var cell in workSheet["A2:A10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
$vbLabelText   $csharpLabel

Isso exibe os valores da célula A2 para A10. Para técnicas de seleção de faixa mais avançadas, visite o tutorial de seleção de faixas.

Como é uma implementação completa?

Um exemplo completo do código específico acima é fornecido aqui:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-log-data.cs
using IronXL;
using System;

// Load an Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify the range
foreach (var cell in workSheet["B2:B10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
$vbLabelText   $csharpLabel

Ele exibe o seguinte resultado:

Saída do console mostrando dados extraídos da planilha com valores de Governo, Privado, Midmarket e Parceiros de Canal

Com o arquivo Excel Sample.xlsx:

Planilha do Excel com dados comerciais mostrando colunas de Segmento, País, Produto e Faixa de Desconto em 16 linhas

Essas metodologias mostram como é fácil usar dados de arquivos do Excel em seu projeto. Para exemplos práticos de leitura de arquivos do Excel sem Interop, explore os exemplos de leitura do Excel.


Como posso executar funções em dados?

Acesse dados filtrados de um Excel WorkSheet aplicando funções agregadas como Soma, Mínimo ou Máximo usando o seguinte código:

Quais funções agregadas estão disponíveis?

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-aggregate-function.cs
using IronXL;

// Apply aggregate functions
decimal sum = workSheet["G2:G10"].Sum(); // Sum of cells from G2 to G10
decimal min = workSheet["G2:G10"].Min(); // Minimum value in cells from G2 to G10
decimal max = workSheet["G2:G10"].Max(); // Maximum value in cells from G2 to G10
$vbLabelText   $csharpLabel

O IronXL suporta inúmeras funções matemáticas, incluindo:

  • Average(): Calcular o valor médio
  • Count(): Contar células não vazias
  • CountIf(): Contar células que atendem a critérios
  • Median(): Encontrar o valor do meio
  • StdDev(): Calcular o desvio padrão

Como implemento várias funções juntas?

Para mais detalhes, confira nosso tutorial detalhado sobre Como Escrever Arquivos Excel em C# com especificidades sobre funções agregadas. Você também pode explorar a lista completa de funções matemáticas disponíveis no IronXL.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-min-max.cs
using IronXL;
using System;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Calculate sum, minimum, and maximum for a range of cells
decimal sum = workSheet["G2:G10"].Sum();
decimal min = workSheet["G2:G10"].Min();
decimal max = workSheet["G2:G10"].Max();

// Output results
Console.WriteLine("Sum is: {0}", sum);
Console.WriteLine("Min is: {0}", min);
Console.WriteLine("Max is: {0}", max);
$vbLabelText   $csharpLabel

Este código exibe a seguinte saída:

Terminal mostrando resultados de análise de dados: Soma=482, Min=12, Max=350 em fundo preto

E é assim que o arquivo Excel Sample.xlsx parece:

Planilha do Excel com dados de vendas mostrando segmentos, países, produtos, unidades vendidas e preços em várias linhas

Como leio a Planilha do Excel como DataTable?

Usando o IronXL, é fácil trabalhar com um Excel WorkSheet como um DataTable. Esse recurso é particularmente útil quando você precisa integrar dados do Excel com pipelines de processamento de dados existentes ou vincular dados a controles de interface do usuário.

Qual é o método básico de conversão?

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable.cs
using IronXL;
using System.Data;

// Convert worksheet to DataTable
DataTable dt = workSheet.ToDataTable();
$vbLabelText   $csharpLabel

Como uso a primeira linha como cabeçalhos de coluna?

Para usar a primeira linha do ExcelSheet como DataTable ColumnName:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable-header.cs
using IronXL;
using System.Data;

// Convert worksheet to DataTable with the first row as column names
DataTable dt = workSheet.ToDataTable(true);
$vbLabelText   $csharpLabel

O parâmetro Booleano de ToDataTable() define a primeira linha como os nomes das colunas do seu DataTable. Por padrão, seu valor é False. Isso é especialmente útil ao trabalhar com dados estruturados que incluem cabeçalhos.

Como faço para iterar através do DataTable?

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-print-datatable.cs
using IronXL;
using System;
using System.Data;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Convert WorkSheet to DataTable
DataTable dt = workSheet.ToDataTable(true); // Use first row as column names

// Iterate through rows and columns and display data
foreach (DataRow row in dt.Rows) // Access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) // Access columns of corresponding row
    {
        Console.Write(row[i] + " ");
    }
    Console.WriteLine();
}
$vbLabelText   $csharpLabel

Usando o código acima, cada valor de célula da WorkSheet pode ser acessado e usado conforme necessário. Para operações de DataTable mais avançadas, consulte o guia sobre importar e exportar como DataSet.


Como Ler um Arquivo Excel como DataSet?

O IronXL fornece uma função simples para usar um arquivo completo do Excel (WorkBook) como um DataSet. Use o método ToDataSet para transformar todo o livro em um DataSet.
Neste exemplo, veremos como usar o arquivo Excel como um DataSet.

Como converto um livro de trabalho em DataSet?

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-excel-to-dataset.cs
using IronXL;
using System;
using System.Data;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Convert the WorkBook to a DataSet
DataSet ds = workBook.ToDataSet();

// Iterate through tables in the DataSet and display table names
foreach (DataTable dt in ds.Tables)
{
    Console.WriteLine(dt.TableName);
}
$vbLabelText   $csharpLabel

A saída do código acima se parece com isto:

Captura de tela corrompida ou incompleta mostrando apenas os rótulos Sheet1, Sheet2, Sheet3

E o arquivo Excel Sample.xlsx parece assim:

Planilha Excel com livro de trabalho de múltiplas planilhas mostrando dados empresariais em diferentes segmentos de mercado e países

Como acesso cada valor de célula em todas as planilhas?

No exemplo acima, podemos facilmente analisar um arquivo do Excel em um DataSet e trabalhar com cada WorkSheet de um arquivo do Excel como um DataTable. Mergulhe mais fundo em como analisar o Excel como um DataSet aqui, com exemplos de código.

Vamos ver mais um exemplo de como acessar cada valor de célula de todas as ExcelSheets. Aqui, podemos acessar cada valor de célula de cada WorkSheet de um arquivo Excel.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs
// ESTE TRECHO DE CÓDIGO NÃO ESTÁ DISPONÍVEL!
$vbLabelText   $csharpLabel

Usando o exemplo acima, é conveniente acessar cada valor de célula de cada WorkSheet de um arquivo Excel. Essa abordagem é particularmente útil ao lidar com livros de trabalho com múltiplas folhas, onde os dados são distribuídos por diferentes abas.

Para mais sobre como Ler Arquivos Excel Sem Interop, confira o código aqui. A documentação de referência da API fornece detalhes abrangentes sobre todos os métodos e propriedades disponíveis na Referência da API do IronXL.


Tutorial de Acesso Rápido

### Referência da API para IronXL

Leia mais sobre os recursos, classes, campos de método, namespaces e enums do IronXL na documentação.

Referência da API para IronXL
Documentation related to Tutorial de Acesso Rápido

Perguntas frequentes

Como faço para ler arquivos XLSX em C#?

Para ler arquivos XLSX em C#, utilize o método WorkBook.Load do IronXL. Basta carregar o arquivo Excel com IronXl.WorkBook.Load("seu-arquivo.xlsx"), e então acessar as planilhas para ler os dados das células, realizar cálculos e converter para os formatos DataTable ou DataSet programaticamente.

Quais formatos de arquivo são suportados ao carregar arquivos do Excel?

O IronXL suporta vários formatos de arquivo do Excel, incluindo .xls, .xlsx, .xlsm, .xltx e .csv. O método WorkBook.Load detecta automaticamente o formato do arquivo, tornando-o versátil tanto para arquivos Excel antigos quanto para os modernos.

Como posso instalar a biblioteca de leitura do Excel no meu projeto C#?

Você pode instalar o IronXL por meio de download direto ou via NuGet Install para Visual Studio. O software é gratuito para fins de desenvolvimento e oferece uma maneira simples de trabalhar com formatos de arquivo Excel em C#.

Quais são as diferentes maneiras de acessar uma planilha específica?

O IronXL oferece várias maneiras de acessar planilhas: você pode usar workBook.GetWorkSheet("SheetName") para acessar pelo nome, workBook.WorkSheets[0] para acessar pelo índice ou workBook.WorkSheets.First() para obter a primeira planilha.

Posso realizar cálculos com os dados do Excel depois de carregá-los?

Sim, após carregar um arquivo XLSX com o IronXL, você pode aplicar diversas funções como Soma, Mínimo e Máximo aos dados. A biblioteca fornece acesso completo às funcionalidades do arquivo Excel por meio do objeto WorkBook.

É possível converter dados de uma planilha do Excel para outros formatos?

Sim, o IronXL permite ler uma planilha e convertê-la para vários formatos, incluindo DataTable, DataSet e outros. Isso facilita a integração de dados do Excel em seus aplicativos C#.

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 ...

Leia mais

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Pronto para começar?
Nuget Downloads 1,890,100 | Versão: 2026.3 acaba de ser lançado

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronXl.Excel
executar um exemplo Veja seus dados se transformarem em uma planilha.