Como selecionar um intervalo no Excel usando C# | IronXL

Como selecionar um intervalo no Excel com C

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

O IronXL permite que desenvolvedores C# selecionem e manipulem intervalos, linhas e colunas do Excel sem depender do Office Interop. Use uma sintaxe simples como workSheet["A1:C3"] para selecionar intervalos, GetRow() para linhas e GetColumn() para colunas programaticamente.

Início rápido: Selecionando um intervalo de células no IronXL em uma única linha

Use uma única chamada para GetRange em uma planilha do IronXL para selecionar um intervalo retangular como "A1:C3" — sem loops, sem complicações. É a maneira mais rápida de começar a manipular várias células ao mesmo tempo.

  1. Instale IronXL com o Gerenciador de Pacotes NuGet

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

    var range = workSheet.GetRange("A1:C3");
  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


Como faço para selecionar diferentes tipos de fogões no IronXL?

Com o IronXL, você pode realizar diversas operações em intervalos selecionados, como classificação , cálculos e agregações. A biblioteca fornece métodos intuitivos para seleção de intervalos que espelham a funcionalidade nativa do Excel, ao mesmo tempo que oferece controle programático.

A seleção de intervalo constitui a base para muitas operações do Excel. Seja para realizar cálculos matemáticos , aplicar formatação ou extrair dados, selecionar as células corretas é o primeiro passo. O IronXL simplifica esse processo com sua API flexível de seleção de intervalo.

ObserveAo aplicar métodos que modificam ou movem valores de células, o intervalo, a linha ou a coluna afetada atualizará seus valores de acordo.

PontasO IronXL permite combinar mais de um IronXl.Ranges.Range usando o operador '+'.

Como faço para selecionar um intervalo retangular de células?

Para selecionar um intervalo de células da célula A2 à célula B8, você pode usar o seguinte código:

:path=/static-assets/excel/content-code-examples/how-to/select-range-range.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xls");
WorkSheet workSheet = workBook.WorkSheets.First();

// Get range from worksheet
var range = workSheet["A2:B8"];
$vbLabelText   $csharpLabel
Planilha mostrando o intervalo B2:C8 destacado em rosa, demonstrando a seleção visual em uma grade de dados de amostra.

Trabalhando com faixas selecionadas

Após selecionar um intervalo, o IronXL oferece diversas operações que você pode realizar:

using IronXL;
using System;
using System.Linq;

// Load an existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Select a range and perform operations
var range = workSheet["A1:C5"];

// Apply formatting to the entire range
range.Style.BackgroundColor = "#E8F5E9";
range.Style.Font.Bold = true;

// Iterate through cells in the range
foreach (var cell in range)
{
    Console.WriteLine($"Cell {cell.AddressString}: {cell.Value}");
}

// Get sum of numeric values in the range
decimal sum = range.Sum();
Console.WriteLine($"Sum of range: {sum}");
using IronXL;
using System;
using System.Linq;

// Load an existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Select a range and perform operations
var range = workSheet["A1:C5"];

// Apply formatting to the entire range
range.Style.BackgroundColor = "#E8F5E9";
range.Style.Font.Bold = true;

// Iterate through cells in the range
foreach (var cell in range)
{
    Console.WriteLine($"Cell {cell.AddressString}: {cell.Value}");
}

// Get sum of numeric values in the range
decimal sum = range.Sum();
Console.WriteLine($"Sum of range: {sum}");
$vbLabelText   $csharpLabel

Para operações mais complexas em planilhas, consulte a documentação completa da API .

Como faço para selecionar uma linha inteira?

Para selecionar a 4ª linha, você pode usar o método GetRow(3) com indexação baseada em zero. Isso incluirá todas as células da 4ª linha, mesmo que algumas células correspondentes em outras linhas estejam vazias.

:path=/static-assets/excel/content-code-examples/how-to/select-range-row.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xls");
WorkSheet workSheet = workBook.WorkSheets.First();

// Get row from worksheet
var row = workSheet.GetRow(3);
$vbLabelText   $csharpLabel
Planilha com a linha 4 selecionada, mostrando a borda vermelha ao redor das células de B4 a F4 para demonstrar a seleção de linha.

A seleção de linhas é particularmente útil quando você precisa processar dados linha por linha. Por exemplo, ao carregar dados de planilha para análise:

using IronXL;
using System;

WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Process each row
for (int i = 0; i < workSheet.RowCount; i++)
{
    var row = workSheet.GetRow(i);

    // Skip empty rows
    if (row.IsEmpty) continue;

    // Process row data
    foreach (var cell in row)
    {
        // Your processing logic here
        Console.Write($"{cell.Value}\t");
    }
    Console.WriteLine();
}
using IronXL;
using System;

WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Process each row
for (int i = 0; i < workSheet.RowCount; i++)
{
    var row = workSheet.GetRow(i);

    // Skip empty rows
    if (row.IsEmpty) continue;

    // Process row data
    foreach (var cell in row)
    {
        // Your processing logic here
        Console.Write($"{cell.Value}\t");
    }
    Console.WriteLine();
}
$vbLabelText   $csharpLabel

Como faço para selecionar uma coluna inteira?

Para selecionar a coluna C, você pode usar o método GetColumn(2) ou especificar o endereço do intervalo como workSheet["C:C"]. Assim como o método GetRow, ele incluirá todas as células relevantes, estejam elas preenchidas na coluna especificada ou não.

:path=/static-assets/excel/content-code-examples/how-to/select-range-column.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xls");
WorkSheet workSheet = workBook.WorkSheets.First();

// Get column from worksheet
var column = workSheet.GetColumn(2);
$vbLabelText   $csharpLabel
Planilha com a coluna C destacada em vermelho, mostrando como selecionar uma coluna inteira em um exemplo de seleção por intervalo.

PontasTodas as posições de índice de linha e coluna seguem a indexação baseada em zero.

A seleção de colunas se mostra extremamente útil ao trabalhar com dados em formato de coluna, como relatórios financeiros ou exportações de banco de dados. Você pode utilizá-lo ao criar novas planilhas com colunas calculadas:

using IronXL;
using System;

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("Data");

// Add header row
workSheet["A1"].Value = "Quantity";
workSheet["B1"].Value = "Price";
workSheet["C1"].Value = "Total";

// Add sample data
for (int i = 2; i <= 10; i++)
{
    workSheet[$"A{i}"].Value = i - 1;
    workSheet[$"B{i}"].Value = 10.5 * (i - 1);
}

// Select the Total column and apply formula
var totalColumn = workSheet.GetColumn(2); // Column C
for (int i = 2; i <= 10; i++)
{
    workSheet[$"C{i}"].Formula = $"=A{i}*B{i}";
}

workBook.SaveAs("calculations.xlsx");
using IronXL;
using System;

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("Data");

// Add header row
workSheet["A1"].Value = "Quantity";
workSheet["B1"].Value = "Price";
workSheet["C1"].Value = "Total";

// Add sample data
for (int i = 2; i <= 10; i++)
{
    workSheet[$"A{i}"].Value = i - 1;
    workSheet[$"B{i}"].Value = 10.5 * (i - 1);
}

// Select the Total column and apply formula
var totalColumn = workSheet.GetColumn(2); // Column C
for (int i = 2; i <= 10; i++)
{
    workSheet[$"C{i}"].Formula = $"=A{i}*B{i}";
}

workBook.SaveAs("calculations.xlsx");
$vbLabelText   $csharpLabel

Como combinar vários intervalos?

IronXL oferece a flexibilidade de combinar vários objetos IronXl.Ranges.Range usando o operador '+'. Ao usar o operador '+', você pode facilmente concatenar ou mesclar intervalos para criar um novo intervalo. Essa funcionalidade é particularmente útil quando você precisa aplicar operações a células não contíguas. Para técnicas avançadas de combinação, veja o exemplo de combinação de intervalos do Excel .

ObserveA combinação direta de linhas e colunas usando o operador '+' não é suportada.

ObserveA combinação de intervalos modificará o intervalo original. No trecho de código abaixo, a variável range será modificada para incluir os intervalos combinados.

:path=/static-assets/excel/content-code-examples/how-to/select-range-combine-range.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xls");
WorkSheet workSheet = workBook.WorkSheets.First();

// Get range from worksheet
var range = workSheet["A2:B2"];

// Combine two ranges
var combinedRange = range + workSheet["A5:B5"];
$vbLabelText   $csharpLabel

Técnicas avançadas de seleção de alcance

O IronXL oferece suporte a cenários sofisticados de seleção de intervalo que espelham os recursos do Excel:

using IronXL;
using System;
using System.Linq;

WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Select multiple non-adjacent ranges
var headerRange = workSheet["A1:E1"];
var dataRange1 = workSheet["A5:E10"];
var dataRange2 = workSheet["A15:E20"];

// Combine ranges for batch operations
var combinedData = dataRange1 + dataRange2;

// Apply consistent formatting across combined ranges
combinedData.Style.BottomBorder.Type = IronXl.Styles.BorderType.Thin;
combinedData.Style.Font.Height = 11;

// Copy formatting from one range to another
var sourceFormat = headerRange.Style;
dataRange1.First().Style = sourceFormat;
using IronXL;
using System;
using System.Linq;

WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Select multiple non-adjacent ranges
var headerRange = workSheet["A1:E1"];
var dataRange1 = workSheet["A5:E10"];
var dataRange2 = workSheet["A15:E20"];

// Combine ranges for batch operations
var combinedData = dataRange1 + dataRange2;

// Apply consistent formatting across combined ranges
combinedData.Style.BottomBorder.Type = IronXl.Styles.BorderType.Thin;
combinedData.Style.Font.Height = 11;

// Copy formatting from one range to another
var sourceFormat = headerRange.Style;
dataRange1.First().Style = sourceFormat;
$vbLabelText   $csharpLabel

Ao trabalhar com fórmulas , a seleção de intervalo torna-se ainda mais poderosa:

// Select a range for formula application
var calculationRange = workSheet["D2:D20"];

// Apply formulas that reference other ranges
for (int i = 2; i <= 20; i++)
{
    workSheet[$"D{i}"].Formula = $"=SUM(A{i}:C{i})";
}

// Use range in aggregate functions
var sumRange = workSheet["B2:B20"];
decimal totalSum = sumRange.Sum();
decimal average = sumRange.Avg();
decimal max = sumRange.Max();
// Select a range for formula application
var calculationRange = workSheet["D2:D20"];

// Apply formulas that reference other ranges
for (int i = 2; i <= 20; i++)
{
    workSheet[$"D{i}"].Formula = $"=SUM(A{i}:C{i})";
}

// Use range in aggregate functions
var sumRange = workSheet["B2:B20"];
decimal totalSum = sumRange.Sum();
decimal average = sumRange.Avg();
decimal max = sumRange.Max();
$vbLabelText   $csharpLabel

Melhores práticas para seleção de alcance

Ao trabalhar com fogões no IronXL, considere estas dicas de desempenho e confiabilidade:

  1. Utilize endereços de intervalo específicos quando souber exatamente quais células são necessárias. Isso é mais eficiente do que selecionar linhas ou colunas inteiras.

  2. Valide os limites do intervalo antes da seleção para evitar erros de tempo de execução:
// Check if range exists before selection
int lastRow = workSheet.RowCount;
int lastColumn = workSheet.ColumnCount;

if (lastRow >= 10 && lastColumn >= 3)
{
    var safeRange = workSheet["A1:C10"];
    // Process range
}
// Check if range exists before selection
int lastRow = workSheet.RowCount;
int lastColumn = workSheet.ColumnCount;

if (lastRow >= 10 && lastColumn >= 3)
{
    var safeRange = workSheet["A1:C10"];
    // Process range
}
$vbLabelText   $csharpLabel
  1. Aproveite a iteração de intervalo para um processamento eficiente:
var dataRange = workSheet["A1:E100"];

// Efficient: Process in batches
foreach (var cell in dataRange)
{
    if (cell.IsNumeric)
    {
        cell.Value = (decimal)cell.Value * 1.1; // 10% increase
    }
}
var dataRange = workSheet["A1:E100"];

// Efficient: Process in batches
foreach (var cell in dataRange)
{
    if (cell.IsNumeric)
    {
        cell.Value = (decimal)cell.Value * 1.1; // 10% increase
    }
}
$vbLabelText   $csharpLabel

Para cenários mais complexos, como copiar intervalos de células , o IronXL oferece métodos especializados que preservam a formatação e as fórmulas.

Primeiros passos com o IronXL

Para começar a usar os recursos de seleção de alcance do IronXL em seus projetos, consulte o guia completo de primeiros passos . Instale o IronXL através do Gerenciador de Pacotes NuGet:

Install-Package IronXl.Excel

Ou usando a CLI do .NET:

dotnet add package IronXl.Excel
dotnet add package IronXl.Excel
SHELL

A seleção de intervalo constitui a base da manipulação do Excel em C#. Com a API intuitiva do IronXL, você pode selecionar, manipular e transformar dados do Excel de forma eficiente, sem a complexidade do Office Interop. Seja para criar relatórios, analisar dados ou automatizar tarefas em planilhas, dominar a seleção de intervalos aumentará significativamente sua produtividade.

Perguntas frequentes

Como selecionar um intervalo de células no Excel usando C#?

Com o IronXL, você pode selecionar um intervalo de células usando uma sintaxe simples como workSheet["A1:C3"] ou workSheet.GetRange("A1:C3"). Isso permite selecionar intervalos retangulares sem a necessidade de dependências do Office Interop.

Posso selecionar linhas e colunas inteiras programaticamente?

Sim, o IronXL oferece os métodos GetRow() e GetColumn() para selecionar linhas e colunas inteiras em sua planilha do Excel. Esses métodos oferecem controle programático sobre a seleção de linhas e colunas sem a necessidade de instalar o Excel.

Como faço para combinar vários intervalos de células em C#?

O IronXL permite combinar vários intervalos usando o operador '+'. Esse recurso facilita o trabalho programático com seleções de células não contíguas.

Que operações posso realizar em intervalos selecionados?

Depois de selecionar um intervalo com o IronXL, você pode realizar diversas operações, incluindo classificação, cálculos matemáticos, aplicação de formatação, iteração entre células e agregação de dados, como o cálculo de somas.

Como faço para aplicar formatação a um intervalo selecionado?

Após selecionar um intervalo no IronXL, você pode aplicar formatação usando a propriedade Estilo. Por exemplo, você pode definir cores de fundo com `range.Style.BackgroundColor` e deixar o texto em negrito com `range.Style.Font.Bold = true`.

Posso iterar pelas células em um intervalo selecionado?

Sim, o IronXL permite iterar pelas células em um intervalo selecionado usando um loop foreach. Cada célula fornece acesso ao seu valor e endereço, facilitando o processamento de dados célula por célula.

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.