Os formatos de arquivo XLSX e XLS são frequentemente usados para manipular dados enormes. Da mesma forma, os AutoFiltros são usados para organizar dados em arquivos do Excel. Usando C# ou VB.NET, você pode facilmente adicionar ou remover AutoFilter em arquivos Excel com a API Aspose.Cells for .NET. Os filtros podem ser usados para quantificar alguns dados para extrair algumas informações significativas. Por exemplo, uma organização deseja filtrar os meses com baixas vendas, a fim de elaborar e melhorar suas estratégias. Neste artigo, exploraremos a filtragem de dados usando filtros automáticos em C#:

C# VB .NET Adicionar ou Remover AutoFiltro em Arquivos do Excel - Instalação da API

Aspose.Cells for .NET API permite que você trabalhe com planilhas do Excel de forma eficiente. Você pode criar, editar ou manipular XLS, XLSX e outros formatos suportados programaticamente com código mínimo. Você pode baixar e instalar o pacote MSI ou ZIP da seção de downloads, ou simplesmente instalá-lo por meio da galeria NuGet em sua solução. Por exemplo, você pode instalá-lo facilmente em seu ambiente usando o seguinte comando:

Install-Package Aspose.Cells -Version 20.9.0

Depois de instalar a API com sucesso, vamos prosseguir com alguns dos casos de uso importantes e úteis.

Aplicar AutoFiltro em Células em Arquivos do Excel usando C#

Você pode aplicar o AutoFiltro em um intervalo específico de células em arquivos do Excel. Isso permite classificar os valores em ordem crescente ou decrescente, bem como outros filtros numéricos quando as células contêm valores numéricos. Você precisa seguir as seguintes etapas para aplicar o AutoFiltro em arquivos do Excel usando C#:

  1. Abra um arquivo Excel e acesse a Planilha
  2. Crie AutoFilter especificando um intervalo de células específico
  3. Salvar arquivo XLS/XLSX de saída

O trecho de código mostra como aplicar o AutoFiltro em células no arquivo Excel usando C#:

// Instanciando um objeto Workbook
// Abrindo o arquivo do Excel por meio do fluxo de arquivos
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(dataDir + "book1.xls");

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

// Criando AutoFiltro fornecendo o intervalo de células da linha de título
worksheet.AutoFilter.Range = "A1:B1";

// Salvando o arquivo Excel modificado
workbook.Save(dataDir + "output.xlsx");

Você pode notar o AutoFilter adicionado no arquivo XLSX de origem na captura de tela abaixo:

AutoFiltro-Excel-Csharp

Adicionar AutoFiltro de Data em XLSX usando C#

Os dados em arquivos do Excel geralmente contêm informações relacionadas a datas. Às vezes, você pode precisar explorar informações com base em diferentes períodos de tempo que podem ser identificados pelas datas. Por exemplo, vamos considerar o caso em que precisamos filtrar dados relacionados a janeiro de 2018, então você precisa seguir as seguintes etapas:

  1. Carregar planilha de entrada
  2. Acessando uma planilha
  3. Adicionar filtro de data e salvar o arquivo de saída

O exemplo de código a seguir segue estas etapas e mostra como adicionar o AutoFiltro de Data em arquivos do Excel usando C#:

// Instanciando um objeto Workbook
// Abrindo o arquivo do Excel por meio do fluxo de arquivos
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

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

// Chame a função AddDateFilter para aplicar o filtro
worksheet.AutoFilter.AddDateFilter(0, DateTimeGroupingType.Month, 2018, 1, 0, 0, 0, 0);

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

// Salvando o arquivo Excel modificado
workbook.Save(dataDir + "FilteredDate.xlsx");

Adicionar AutoFiltro de Data Dinâmica em XLSX usando C#

Como já discutimos o cenário de filtragem de dados com base em datas. No entanto, o cenário de data também pode ser um pouco mais genérico, em alguns cenários. Por exemplo, precisamos que os dados sejam filtrados para o mês de janeiro, independentemente do ano. Esses requisitos podem ser facilmente tratados com um filtro de data dinâmico usando as etapas abaixo:

  1. Carregar arquivo XLSX de entrada
  2. Acesse uma planilha
  3. Defina DynamicFilter para o mês de janeiro
  4. Salvar planilha Excel de saída

Este exemplo é a continuação do exemplo acima, onde o trecho de código abaixo mostra como adicionar um AutoFiltro de data dinâmica em um arquivo do Excel programaticamente em C#:

// Instanciando um objeto Workbook
// Abrindo o arquivo do Excel por meio do fluxo de arquivos
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

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

// Chame a função DynamicFilter para aplicar o filtro
worksheet.AutoFilter.DynamicFilter(0, DynamicFilterType.January);

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

// Salvando o arquivo Excel modificado
workbook.Save(dataDir + "FilteredDynamicDate.xlsx");

Aplicar filtro automático de número personalizado em XLSX com C#

Você pode filtrar dados com base em um intervalo personalizado de números usando Aspose.Cells para .NET API. Por exemplo, quando uma empresa precisa acessar quantos de seus funcionários atingiram as metas de vendas. Da mesma forma, pode haver muitas possibilidades em que essa técnica de filtragem pode ajudar. Vamos supor um caso em que precisamos filtrar todos os dados onde os números estão dentro do intervalo de 5 e 10 inclusive, então você precisa seguir os passos abaixo:

  1. Instanciar um objeto Workbook e carregar o arquivo de entrada
  2. Adicionar filtro de número personalizado em uma planilha específica
  3. Salvar arquivo Excel de saída

Com base nessas etapas, o código a seguir mostra como adicionar o AutoFiltro de número personalizado usando C#:

// Instanciando um objeto Workbook
// Abrindo o arquivo do Excel por meio do fluxo de arquivos
Workbook workbook = new Workbook(dataDir + "Number.xlsx");

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

// Chame a função Custom para aplicar o filtro
worksheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, 5, true, FilterOperatorType.LessOrEqual, 10);

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

// Salvando o arquivo Excel modificado
workbook.Save(dataDir + "FilteredNumber.xlsx");

Adicionar AutoFiltro Personalizado com Contém usando C#

Movendo mais um passo além do AutoFiltro de número personalizado, vamos aprender como adicionar o AutoFiltro Personalizado que pode ser usado para rastrear texto específico usando o Operador de Filtro Contém. Pode ser útil pesquisar palavras em que qualquer texto esteja parcial ou totalmente presente nos dados. Você deve seguir as seguintes etapas para atender a esses requisitos:

  1. Carregar arquivo Excel de entrada com dados
  2. Especifique o intervalo AutoFilter e o FilterOperatorType
  3. Salvar arquivo XLSX de saída

O trecho de código abaixo mostra como adicionar Custom AutoFilter com Contains usando C#:

// Instanciando um objeto Workbook contendo dados de exemplo
Workbook workbook = new Workbook(dataDir + "sourseSampleCountryNames.xlsx");

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

// Criando AutoFilter dando o intervalo de células
worksheet.AutoFilter.Range = "A1:A18";

// Inicialize o filtro para linhas contendo a string "Ba"
worksheet.AutoFilter.Custom(0, FilterOperatorType.Contains, "Ba");

//Atualize o filtro para mostrar/ocultar linhas filtradas
worksheet.AutoFilter.Refresh();

// Salvando o arquivo Excel modificado
workbook.Save(dataDir + "outSourseSampleCountryNames.xlsx");

Remover ou excluir AutoFilter no Excel usando C#

Como aprendemos diferentes cenários de adição de AutoFiltros em arquivos do Excel usando C#, vamos verificar o contrário. O caso de uso de remover ou excluir os AutoFiltros do Excel é igualmente importante e fundamental. Você precisa seguir as etapas abaixo para remover todos os AutoFilters de um arquivo XLSX:

  1. Carregar arquivo XLSX de entrada
  2. Itere em cada planilha e remova AutoFilters
  3. Salvar arquivo de saída

O trecho de código a seguir mostra como remover AutoFiltros de arquivos do Excel usando C#:

// Instanciando um objeto Workbook
// Abrindo o arquivo Excel
Workbook workbook = new Workbook(dataDir + "output.xlsx");
// Iterar em cada planilha
foreach (var sheet in workbook.Worksheets)
{
    // Remover AutoFiltros
    sheet.RemoveAutoFilter();
}
// Salve a pasta de trabalho
workbook.Save(dataDir + "AutoFilter_Removed.xlsx", SaveFormat.Xlsx);

Conclusão

Aspose.Cells para .NET API oferece diferentes recursos prontos para uso. Adicionar, remover ou excluir um AutoFilter usando C# no .NET Framework é simples e fácil. Discutimos várias possibilidades em detalhes. Caso você tenha alguma dúvida ou preocupação, sinta-se à vontade para entrar em contato conosco em Fórum de suporte gratuito.

Veja também