Filtrar informações em planilhas do Excel é um recurso importante. Ele permite ocultar dados irrelevantes e mostrar apenas os dados que atendem a critérios específicos. Pode haver cenários em que a filtragem de dados pode ser útil. Por exemplo, uma organização pode querer filtrar produtos de baixo desempenho do relatório de vendas para analisar e melhorar suas estratégias de vendas. Neste artigo, você aprenderá como adicionar ou remover o AutoFiltro em arquivos do Excel usando C++.
- API C++ para adicionar e remover AutoFilter em arquivos do Excel
- Aplicar AutoFiltro em arquivos do Excel usando C++
- Adicionar AutoFiltro de Data em Arquivos do Excel usando C++
- Adicionar AutoFiltro de Data Dinâmica em um Arquivo do Excel usando C++
- Aplicar filtro automático personalizado em arquivos do Excel usando C++
- Remover AutoFiltro de arquivos do Excel
API C++ para adicionar e remover AutoFilter em arquivos do Excel
Usaremos a API Aspose.Cells for C++ para adicionar e remover AutoFilter em arquivos do Excel. É uma biblioteca nativa de C++ que permite criar, ler e modificar arquivos do Excel sem exigir a instalação do Microsoft Excel. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.
PM> Install-Package Aspose.Cells.Cpp
Aplicar AutoFiltro em arquivos do Excel usando C++
Você pode aplicar o AutoFiltro em um intervalo de células. Os AutoFiltros permitem classificar e filtrar valores em um determinado intervalo de células. A seguir estão as etapas para adicionar AutoFiltro em arquivos do Excel.
- Primeiramente, carregue o arquivo Excel usando a classe IWorkbook.
- Recupere a planilha onde você deseja aplicar o AutoFiltro usando o método IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Aplique o AutoFiltro usando o IWorksheet->GetIAutoFilter()->SetRange(intrusiveptrAspose::Cells::Systems::String valor) método.
- Finalmente, salve o arquivo Excel usando o IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) método.
O código de exemplo a seguir mostra como aplicar o AutoFiltro a um intervalo de células em um arquivo do Excel usando C++.
// Caminho do diretório de origem.
StringPtr srcDir = new String("SourceDirectory\\");
// Caminho do diretório de saída.
StringPtr outDir = new String("OutputDirectory\\");
// Carregar o arquivo Excel de origem
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx")));
// Acesse a primeira planilha no arquivo Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Criando AutoFiltro fornecendo o intervalo de células
worksheet->GetIAutoFilter()->SetRange(new String("A1:B1"));
// Salve o arquivo Excel
workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
Adicionar AutoFiltro de Data em Arquivos do Excel usando C++
Os arquivos do Excel podem conter dados baseados em datas. Você pode se encontrar em cenários em que precisa filtrar e analisar dados com base em datas diferentes. Portanto, um filtro de data será útil em tais cenários. A seguir estão as etapas para adicionar AutoFiltro de data em arquivos do Excel.
- Primeiramente, carregue o arquivo Excel usando a classe IWorkbook.
- Recupere a planilha onde você deseja aplicar o AutoFiltro usando o método IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Aplique o AutoFiltro de Data usando o IWorksheet->GetIAutoFilter()->AddDateFilter(Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::DateTimeGroupingType dateTimeGroupingType, Aspose::Cells::Systems::Int32 ano, Aspose ::Cells::Systems::Int32 mês, Aspose::Cells::Systems::Int32 day, Aspose::Cells::Systems::Int32 hour, Aspose::Cells::Systems::Int32 minuto, Aspose:: Cells::Systems::Int32 segundo).
- Para atualizar a planilha, use o método IWorksheet->GetIAutoFilter()->Refresh().
- Finalmente, salve o arquivo Excel usando o IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) método.
O código de exemplo a seguir demonstra como adicionar AutoFiltro de data em arquivos do Excel usando C++.
// Caminho do diretório de origem.
StringPtr srcDir = new String("SourceDirectory\\");
// Caminho do diretório de saída.
StringPtr outDir = new String("OutputDirectory\\");
// Carregar o arquivo Excel de origem
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));
// Acesse a primeira planilha no arquivo Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Chame a função AddDateFilter para aplicar o filtro
worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0);
// Chame a função Refresh para atualizar a planilha
worksheet->GetIAutoFilter()->Refresh();
// Salve o arquivo Excel
workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));
Adicionar AutoFiltro de Data Dinâmica em um Arquivo do Excel usando C++
Pode haver casos em que você precise de um filtro de data mais genérico, como o mês independentemente do ano ou o mês anterior ao mês atual. Para cenários como este, você pode usar o AutoFiltro dinâmico para filtrar os dados. A seguir estão as etapas para filtrar dados usando um AutoFiltro de data dinâmica.
- Primeiramente, carregue o arquivo Excel usando a classe IWorkbook.
- Recupere a planilha onde você deseja aplicar o AutoFiltro usando o método IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Aplique DynamicFilter usando o método IWorksheet->GetIAutoFilter()->DynamicFilter (Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::DynamicFilterType dynamicFilterType).
- Para atualizar a planilha, use o método IWorksheet->GetIAutoFilter()->Refresh().
- Finalmente, salve o arquivo Excel usando o IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) método.
O código de exemplo a seguir demonstra como adicionar um AutoFiltro de data dinâmica em um arquivo do Excel usando C++.
// Caminho do diretório de origem.
StringPtr srcDir = new String("SourceDirectory\\");
// Caminho do diretório de saída.
StringPtr outDir = new String("OutputDirectory\\");
// Carregar o arquivo Excel de origem
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));
// Acesse a primeira planilha no arquivo Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Chame a função DynamicFilter para aplicar o filtro
worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray);
// Chame a função Refresh para atualizar a planilha
worksheet->GetIAutoFilter()->Refresh();
// Salve o arquivo Excel
workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));
Aplicar filtro automático personalizado em arquivos do Excel usando C++
Caso você queira aplicar um AutoFilter personalizado, o Aspose.Cells for C++ API tem cobertura. Usando a API, você pode aplicar um AutoFiltro personalizado em arquivos do Excel com base em seus requisitos específicos. A seguir estão as etapas para adicionar AutoFiltro personalizado em arquivos do Excel.
- Primeiramente, carregue o arquivo Excel usando a classe IWorkbook.
- Recupere a planilha onde deseja aplicar o AutoFiltro usando o método IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Aplique o AutoFiltro Personalizado usando o IWorksheet->GetIAutoFilter()->Custom(Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::FilterOperatorType operatorType1, intrusiveptrAspose::Cells::Systems::Object critérios1) método.
- Chame o método IWorksheet->GetIAutoFilter()->Refresh() para atualizar a planilha.
- Finalmente, salve o arquivo Excel usando o IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) método.
O código de exemplo a seguir mostra como adicionar o AutoFiltro personalizado em arquivos do Excel usando C++.
// Caminho do diretório de origem.
StringPtr srcDir = new String("SourceDirectory\\");
// Caminho do diretório de saída.
StringPtr outDir = new String("OutputDirectory\\");
// Carregar o arquivo Excel de origem
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx")));
// Acesse a primeira planilha no arquivo Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Chame a função Custom para aplicar o filtro
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));
// Chame a função Refresh para atualizar a planilha
worksheet->GetIAutoFilter()->Refresh();
// Salve o arquivo Excel
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));
Remover AutoFiltro de arquivos do Excel
Nas seções anteriores, você aprendeu como adicionar diferentes AutoFiltros em arquivos do Excel. Além de adicionar AutoFilters, você também pode removê-los usando a API Aspose.Cells for C++. A seguir estão as etapas para remover AutoFiltros de arquivos do Excel.
- Primeiramente, carregue o arquivo Excel usando a classe IWorkbook.
- Recupere a planilha de onde você deseja remover o AutoFiltro usando o método IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Remova o AutoFilter usando o método IWorksheet->RemoveAutoFilter().
- Finalmente, salve o arquivo Excel usando o IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) método.
O código de exemplo a seguir mostra como remover o AutoFilter de um arquivo do Excel usando C++.
// Caminho do diretório de origem.
StringPtr srcDir = new String("SourceDirectory\\");
// Caminho do diretório de saída.
StringPtr outDir = new String("OutputDirectory\\");
// Carregar o arquivo Excel de origem
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx")));
// Acesse a primeira planilha no arquivo Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Remover AutoFiltros
worksheet->RemoveAutoFilter();
// Salve o arquivo Excel
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));
Obtenha uma licença gratuita
Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como adicionar e remover AutoFiltros de arquivos do Excel usando C++. Especificamente, você aprendeu como adicionar Default, Date, Dynamic Date e Custom AutoFilters. Você também viu como remover o AutoFilter usando Aspose.Cells para C++ API. A API fornece muitos recursos adicionais para trabalhar com arquivos do Excel. Você pode explorar a API em detalhes visitando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.