Como gerenciar intervalos nomeados do Excel em C#

Como Adicionar Intervalo Nomeado em C# com IronXL

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

Um intervalo nomeado é um intervalo especificado de células identificado por um nome único. Em vez de se referir a um intervalo por seus endereços de célula (como A1:B10), você pode atribuir um nome a um intervalo, tornando mais fácil referenciar e entender em fórmulas e funções. Por exemplo, se você nomeou um intervalo como "SalesData", pode referir-se a ele em uma fórmula como SUM(SalesData) em vez de especificar o intervalo de células diretamente.

Intervalos nomeados são particularmente úteis ao trabalhar com fórmulas do Excel em C# pois tornam seu código mais legível e fácil de manter. Quando combinados com as poderosas capacidades de seleção de intervalo do IronXL, os intervalos nomeados tornam-se uma ferramenta essencial para gerenciamento eficiente de planilhas.

Início Rápido: Adiciona um Intervalo Nomeado com IronXL em Uma Linha

Defina um intervalo nomeado usando IronXL com uma única chamada de método. Selecione seu intervalo e aplique o método SaveAsNamedRange.

  1. Instale IronXL com o Gerenciador de Pacotes NuGet

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

    new IronXl.WorkBook()
        .DefaultWorkSheet["A1:B2"].SaveAsNamedRange("MyRange", true);
  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 Posso Adicionar um Intervalo Nomeado à Minha Planilha?

Para adicionar um intervalo nomeado, use o método AddNamedRange passando o nome do intervalo nomeado como texto e o objeto de intervalo. Este método faz parte dos recursos abrangentes de gerenciamento de planilha do IronXL.

:path=/static-assets/excel/content-code-examples/how-to/named-range-add-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Select range
var selectedRange = workSheet["A1:A5"];

// Add named range
workSheet.AddNamedRange("range1", selectedRange);

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

Ao criar intervalos nomeados, é importante seguir as convenções de nomenclatura do Excel:

  • Os nomes devem começar com uma letra ou sublinhado
  • Os nomes não podem conter espaços (use sublinhados em vez disso)
  • Os nomes não podem conflitar com referências de células (como "A1" ou "R1C1")
  • Os nomes não são sensíveis a maiúsculas e minúsculas, mas manter uma capitalização consistente melhora a legibilidade
Caixa de Nome do Excel mostrando 'range1' com células A1:A5 selecionadas e destacadas, seta vermelha apontando para a grade

Intervalos nomeados também podem ser criados para seleções não contíguas ou linhas/colunas inteiras. Para operações de intervalo mais complexas, confira o guia sobre como combinar vários intervalos do Excel.


Como Posso Recuperar Intervalos Nomeados da Minha Pasta de Trabalho?

Qual método obtém todos os intervalos nomeados de uma vez?

O método GetNamedRanges retorna todos os intervalos nomeados na planilha como uma lista de strings. Isso é particularmente útil quando você precisa auditar ou documentar todos os intervalos nomeados em uma pasta de trabalho, semelhante a como você pode carregar planilhas existentes para analisar sua estrutura.

:path=/static-assets/excel/content-code-examples/how-to/named-range-retrieve-all-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Load("addNamedRange.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Get all named range
var namedRangeList = workSheet.GetNamedRanges();
$vbLabelText   $csharpLabel

Como encontro um intervalo nomeado específico pelo nome?

Use o método FindNamedRange para recuperar a referência absoluta do intervalo nomeado, como Sheet1!$A$1:$A$5. A fórmula do endereço pode então ser usada para referenciar o intervalo nomeado ou selecionar o intervalo correspondente ao intervalo nomeado. Ao selecionar o intervalo, você deve prestar atenção ao nome da planilha.

:path=/static-assets/excel/content-code-examples/how-to/named-range-retrieve-specific-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Load("addNamedRange.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Get named range address
string namedRangeAddress = workSheet.FindNamedRange("range1");

// Select range
var range = workSheet[$"{namedRangeAddress}"];
$vbLabelText   $csharpLabel

Trabalhando com intervalos nomeados em várias planilhas

Os intervalos nomeados podem ter escopo de nível de pasta de trabalho ou de nível de planilha. Nomes de nível de pasta de trabalho são acessíveis de qualquer planilha, enquanto nomes de nível de planilha são acessíveis apenas dentro da planilha específica. Essa distinção é importante ao gerir várias planilhas em seus arquivos Excel.

// Example: Accessing named ranges from different worksheets
WorkBook workBook = WorkBook.Load("multisheet.xlsx");
WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1");
WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2");

// Both can access a workbook-level named range
var range1 = sheet1["GlobalData"];
var range2 = sheet2["GlobalData"];  // Same named range
// Example: Accessing named ranges from different worksheets
WorkBook workBook = WorkBook.Load("multisheet.xlsx");
WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1");
WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2");

// Both can access a workbook-level named range
var range1 = sheet1["GlobalData"];
var range2 = sheet2["GlobalData"];  // Same named range
$vbLabelText   $csharpLabel

Como removo um intervalo nomeado da minha planilha?

Para remover o intervalo nomeado, use o método RemoveNamedRange passando o nome do intervalo nomeado como texto. Isso é essencial para manter pastas de trabalho organizadas e limpas, além de evitar conflitos de nomes ao atualizar estruturas de planilhas.

:path=/static-assets/excel/content-code-examples/how-to/named-range-remove-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Load("addNamedRange.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Remove named range
workSheet.RemoveNamedRange("range1");
$vbLabelText   $csharpLabel

Cenários avançados de intervalo nomeado

Usando intervalos nomeados com fórmulas

Os intervalos nomeados realmente brilham quando usados com fórmulas do Excel. Eles tornam as fórmulas mais legíveis e fáceis de manter. Para uma gestão abrangente de fórmulas, veja o guia sobre fórmulas do Excel em C#.

// Create named ranges for formula use
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Create sample data
workSheet["A1:A5"].Value = new int[] { 10, 20, 30, 40, 50 };
workSheet["B1:B5"].Value = new int[] { 5, 10, 15, 20, 25 };

// Add named ranges
workSheet.AddNamedRange("FirstColumn", workSheet["A1:A5"]);
workSheet.AddNamedRange("SecondColumn", workSheet["B1:B5"]);

// Use named ranges in formulas
workSheet["D1"].Formula = "=SUM(FirstColumn)";
workSheet["D2"].Formula = "=AVERAGE(SecondColumn)";
workSheet["D3"].Formula = "=SUM(FirstColumn) + SUM(SecondColumn)";

// Evaluate formulas
workSheet.EvaluateAll();
// Create named ranges for formula use
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Create sample data
workSheet["A1:A5"].Value = new int[] { 10, 20, 30, 40, 50 };
workSheet["B1:B5"].Value = new int[] { 5, 10, 15, 20, 25 };

// Add named ranges
workSheet.AddNamedRange("FirstColumn", workSheet["A1:A5"]);
workSheet.AddNamedRange("SecondColumn", workSheet["B1:B5"]);

// Use named ranges in formulas
workSheet["D1"].Formula = "=SUM(FirstColumn)";
workSheet["D2"].Formula = "=AVERAGE(SecondColumn)";
workSheet["D3"].Formula = "=SUM(FirstColumn) + SUM(SecondColumn)";

// Evaluate formulas
workSheet.EvaluateAll();
$vbLabelText   $csharpLabel

Intervalos nomeados dinâmicos

Embora o IronXL não suporte diretamente os intervalos nomeados dinâmicos do Excel (usando funções OFFSET ou INDEX), você pode programaticamente atualizar intervalos nomeados com base em alterações nos dados:

// Update named range based on data size
WorkBook workBook = WorkBook.Load("dynamicData.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Find last row with data
int lastRow = 1;
while (!workSheet[$"A{lastRow}"].IsEmpty)
{
    lastRow++;
}
lastRow--; // Adjust to actual last row

// Remove old range and add new one
workSheet.RemoveNamedRange("DataRange");
workSheet.AddNamedRange("DataRange", workSheet[$"A1:A{lastRow}"]);
// Update named range based on data size
WorkBook workBook = WorkBook.Load("dynamicData.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Find last row with data
int lastRow = 1;
while (!workSheet[$"A{lastRow}"].IsEmpty)
{
    lastRow++;
}
lastRow--; // Adjust to actual last row

// Remove old range and add new one
workSheet.RemoveNamedRange("DataRange");
workSheet.AddNamedRange("DataRange", workSheet[$"A1:A{lastRow}"]);
$vbLabelText   $csharpLabel

Intervalos nomeados para validação de dados

Os intervalos nomeados são excelentes para a criação de listas e restrições de validação de dados. Quando combinados com as funcionalidades de validação de dados do Excel, eles fornecem uma maneira poderosa de garantir a integridade dos dados:

// Create a named range for validation list
workSheet["F1:F5"].Value = new string[] { "Option1", "Option2", "Option3", "Option4", "Option5" };
workSheet.AddNamedRange("ValidationList", workSheet["F1:F5"]);

// Apply to data validation (conceptual example)
// The actual validation would reference "ValidationList"
// Create a named range for validation list
workSheet["F1:F5"].Value = new string[] { "Option1", "Option2", "Option3", "Option4", "Option5" };
workSheet.AddNamedRange("ValidationList", workSheet["F1:F5"]);

// Apply to data validation (conceptual example)
// The actual validation would reference "ValidationList"
$vbLabelText   $csharpLabel

Melhores práticas e dicas de desempenho

  1. Convenções de Nomes: Use nomes descritivos e consistentes que indiquem o propósito dos dados (por exemplo, Sales_Q1_2024 em vez de "Data1")
  2. Gestão de escopo: Seja intencional sobre o escopo da pasta de trabalho versus escopo da planilha para evitar conflitos
  3. Documentação: Mantenha uma lista de intervalos nomeados e seus propósitos, especialmente em pastas de trabalho complexas
  4. Desempenho: Intervalos nomeados têm impacto de desempenho mínimo, mas evite criar milhares de pequenos intervalos nomeados
  5. Atualizações: Quando as estruturas de dados mudam, atualize ou remova os intervalos nomeados correspondentes para manter a precisão

Para operações avançadas do Excel e otimização de desempenho, explore a documentação completa do IronXL ou verifique recursos específicos como ordenar intervalos do Excel ou trabalhar com tabelas do Excel.

Perguntas frequentes

Como faço para criar um intervalo nomeado no Excel usando C#?

Para criar um intervalo nomeado no Excel usando C# com IronXL, selecione o intervalo desejado usando o indexador de planilha (por exemplo, workSheet["A1:B2"]) e, em seguida, chame o método SaveAsNamedRange com o nome desejado. Você também pode usar o método AddNamedRange passando o nome como texto e o objeto de intervalo.

Quais são as regras de nomenclatura para intervalos nomeados no Excel?

Ao usar o IronXL para criar intervalos nomeados, siga estas convenções de nomenclatura do Excel: os nomes devem começar com uma letra ou sublinhado, não podem conter espaços (use sublinhados em vez de espaços), não podem entrar em conflito com referências de células como 'A1' e não diferenciam maiúsculas de minúsculas. O IronXL aplica essas regras automaticamente ao criar intervalos nomeados.

É possível recuperar todos os intervalos nomeados de uma planilha do Excel programaticamente?

Sim, o IronXL oferece o método GetNamedRanges, que retorna todos os intervalos nomeados na planilha como uma lista de strings. Esse recurso é particularmente útil ao auditar ou documentar intervalos nomeados em pastas de trabalho existentes carregadas com o IronXL.

Como os intervalos nomeados podem melhorar minhas fórmulas do Excel em C#?

Os intervalos nomeados tornam as fórmulas do Excel mais legíveis e fáceis de manter ao trabalhar com o IronXL. Em vez de usar referências de células como 'A1:B10', você pode usar nomes descritivos como 'SalesData' em suas fórmulas, tornando seu código C# mais claro e fácil de entender.

É possível criar intervalos nomeados para células não contíguas?

Sim, o IronXL permite criar intervalos nomeados para seleções não contíguas e linhas ou colunas inteiras. Os recursos abrangentes de gerenciamento de planilhas da biblioteca permitem definir intervalos nomeados complexos, que vão além de simples seleções retangulares.

Qual a maneira mais rápida de adicionar um intervalo nomeado em uma única linha de código?

Com o IronXL, você pode criar um intervalo nomeado em uma única linha usando: `new IronXl.WorkBook().DefaultWorkSheet["A1:B2"].SaveAsNamedRange("MyRange", true)`. Isso demonstra a API simplificada do IronXL para manipulação do Excel.

Como faço para remover intervalos nomeados de uma planilha do Excel?

O IronXL oferece o método RemoveNamedRange para excluir facilmente intervalos nomeados da sua planilha. Isso faz parte dos recursos completos de gerenciamento de intervalos nomeados da biblioteca, permitindo adicionar, recuperar e remover intervalos nomeados programaticamente.

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.