Filtrar Células Vazias e Não Vazias no Excel usando C#

Células em branco podem causar problemas em relatórios e análises do Excel. Filtrá-las ajuda a limpar e organizar dados para melhores resultados. Automatizar como filtrar células em branco no Excel pode economizar tempo e aumentar a produtividade. Com apenas algumas linhas de código, você pode lidar com grandes planilhas de forma rápida e precisa. Este blog irá guiá-lo através do processo de filtragem de células em branco e não em branco usando C#. Vamos nos aprofundar!

Este artigo abrange os seguintes tópicos:

Biblioteca C# Excel para Filtrar Células Vazias e Não Vazias

Aspose.Cells for .NET é uma biblioteca poderosa que ajuda os desenvolvedores a criar, editar e gerenciar arquivos Excel sem usar o Microsoft Excel. Ela oferece controle total sobre planilhas, incluindo a capacidade de aplicar filtros aos dados.

Quando se trata de filtrar células em branco ou não em branco, o Aspose.Cells torna o processo simples. Você pode adicionar um filtro a uma coluna específica, escolher opções de blank ou non-blank, e atualizar a planilha — tudo isso através de um código limpo e fácil de ler. Isso economiza tempo e reduz erros em comparação com a edição manual.

Seja você construindo relatórios, limpando dados ou preparando resumos, o Aspose.Cells permite que você automatize o processo de filtragem de maneira eficiente.

Antes de começar, certifique-se de que você tem o seguinte:

Instalando Aspose.Cells for .NET

  1. Instale via NuGet Package Manager:

    • Abra seu projeto .NET no Visual Studio.
    • Vá para Ferramentas → Gerenciador de Pacotes NuGet → Gerenciar Pacotes NuGet para a Solução.
    • Pesquise por Aspose.Cells e instale o pacote.

Ou execute este comando no Console do Gerenciador de Pacotes:

Install-Package Aspose.Cells
  1. Baixar manualmente:

Como Filtrar Células Vazias em C# Usando Aspose.Cells

Filtrar células em branco no Excel com Aspose.Cells é um processo simples. Você carrega o arquivo, aplica um AutoFiltro a um intervalo específico e filtra as entradas em branco. Aqui está como você pode fazer isso passo a passo:

1. Carregando um arquivo Excel

Primeiro, você precisa carregar seu arquivo Excel em um objeto Workbook.

// Load an existing Excel file
Workbook workbook = new Workbook("input.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

2. Aplicando um AutoFiltro

Defina o intervalo onde você deseja aplicar o filtro. Geralmente, esta é a tabela ou área de dados que você deseja limpar.

// Apply AutoFilter on the desired range
worksheet.AutoFilter.Range = "A1:C20"; // Adjust the range based on your data

3. Filtrando Células em Branco

Agora, adicione um filtro em uma coluna específica. Aqui, filtraremos células em branco na primeira coluna (índice 0).

Método 1: Chame a função MatchBlanks para aplicar o filtro

worksheet.AutoFilter.MatchBlanks(1);

Método 2: Chame a função AddFilter e defina o critério como nulo

worksheet.AutoFilter.AddFilter(1, null);

Método 3: Aplique filtro para células em branco na primeira coluna

worksheet.AutoFilter.AddFilter(0, ""); // Empty string represents blank cells
worksheet.AutoFilter.Refresh();

Finalmente, salve o arquivo filtrado.

// Save the updated file
workbook.Save("filtered_blank_cells.xlsx");

Exemplo Completo de Código: Filtrando Células em Branco em C#

using Aspose.Cells;

// Carregue o arquivo do Excel
Workbook workbook = new Workbook("sample_blanks.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

// Aplicar AutoFiltro a um intervalo específico
worksheet.AutoFilter.Range = "A1:C20";

// Chame a função AddFilter e defina o critério como \"\"
worksheet.AutoFilter.AddFilter(1, "");
worksheet.AutoFilter.Refresh();

// Save the output
workbook.Save("filtered_blank_cells.xlsx");
Como Filtrar Células Vazias em C# Usando Aspose.Cells

Como Filtrar Células Vazias em C# Usando Aspose.Cells

Entendendo as Principais Classes Usadas na Filtragem

  • AutoFilter.Range Define o intervalo de célula onde o filtro será aplicado.

  • AddFilter(columnIndex, criteria) Adiciona uma condição de filtro a uma coluna específica. Neste caso, uma string vazia \"\" filtra células em branco.

  • Refresh() Aplica e atualiza o filtro com base nos critérios adicionados.

Filtro de Células Não Vazia no Excel usando C#

Filtrar células não vazias usando Aspose.Cells é tão fácil quanto. Em vez de definir o filtro como uma string vazia, você pode filtrar por todos os valores disponíveis, exceto vazios.

// Filter out blank cells in the first column (index 0)
worksheet.AutoFilter.Filter(0, 0); // 0 represents filtering non-blank cells

Pequena Modificação para Filtrar Apenas Células Não Vazias

Você pode usar o MatchNonBlanks() método diretamente. Como alternativa, você pode listar manualmente as entradas não em branco conhecidas, se necessário.

using Aspose.Cells;

// Carregue sua pasta de trabalho
var workbook = new Workbook("sample_blanks.xlsx");

// Acessando a primeira planilha no arquivo do Excel
Worksheet worksheet = workbook.Worksheets[0];

// Chame a função MatchBlanks para aplicar o filtro.
worksheet.AutoFilter.MatchNonBlanks(1);

// Chame a função de atualização para atualizar a planilha
worksheet.AutoFilter.Refresh();

// Salvando o arquivo Excel modificado
workbook.Save("filtered_non_blanks.xlsx");
Filtrar Células Não Vazias no Excel usando C#

Filtrar Células Não Vazias no Excel usando C#

Se você quiser mais controle (como filtrar por valores de texto específicos), pode usar AddFilter várias vezes com valores reais em vez de uma string vazia.

Combinando Vários Filtros em C#

Aspose.Cells for .NET também permite que você aplique vários filtros de uma só vez. Você pode filtrar por células em branco, valores de texto específicos ou números - tudo dentro da mesma faixa.

Isso é útil quando você quer:

  • Mostrar apenas células em branco e determinadas entradas específicas.
  • Combine várias condições em uma coluna.
  • Aplique filtros diferentes em várias colunas.

Exemplo: Combinando Filtros

 using Aspose.Cells;
 
 // Carregue o arquivo Excel
 Workbook workbook = new Workbook("sample_blanks.xlsx");
 Worksheet worksheet = workbook.Worksheets[0];

 // Definir intervalo de AutoFiltro
 worksheet.AutoFilter.Range = "A1:C20";

 // Adicione vários filtros na primeira coluna (índice 0)
 worksheet.AutoFilter.AddFilter(1, "");       // Blank cells
 worksheet.AutoFilter.AddFilter(1, "AFG");    // Specific text value
 worksheet.AutoFilter.Refresh();

 // Save the result
 workbook.Save("combined_filtered.xlsx", SaveFormat.Xlsx);
Combinando Múltiplos Filtros em C#

Combinando Múltiplos Filtros em C#

In this example:

  • Mostra ambas as linhas com células em branco e linhas onde a coluna do código do país é “AFG”.
  • Você pode adicionar quantos valores de filtro precisar antes de chamar Refresh().

Dica: Para filtrar em várias colunas, simplesmente use AddFilter em outros índices de coluna.

Obtenha uma Licença Gratuita

Você está interessado em explorar os produtos Aspose? Visite a license page para obter uma licença temporária gratuita. É fácil começar, e você pode experimentar todas as capacidades do Aspose.Cells for .NET!

Excel Filter Blanks: Recursos Gratuitos

Deseja explorar mais sobre como trabalhar com arquivos Excel usando Aspose.Cells for .NET? Confira esses recursos gratuitos:

  • Developer’s Guide — Aprenda como criar, editar, filtrar e automatizar arquivos Excel programaticamente.
  • Free Online Applications — Experimente ferramentas do Excel prontas para uso, como conversores, fusões e editores online.
  • API Reference — Navegue pela documentação completa da API do Aspose.Cells for .NET.
  • Guias e Artigos Como Fazer — Encontre tutoriais, dicas e casos de uso do mundo real no blog da Aspose.

Conclusão

Filtrar células em branco ou não em branco no Excel torna-se simples e eficiente com Aspose.Cells for .NET. Você pode automatizar a limpeza de dados, criar relatórios mais inteligentes e economizar horas de trabalho manual. Se você está trabalhando com arquivos pequenos ou conjuntos de dados massivos, Aspose.Cells oferece controle total sobre filtragem, formatação e exportação de arquivos do Excel através de código.

Se você tiver alguma dúvida ou precisar de mais assistência, sinta-se à vontade para nos contatar em nosso free support forum.

See Also