Ważną funkcją jest filtrowanie informacji w arkuszach kalkulacyjnych Excel. Pozwala ukryć nieistotne dane i pokazać tylko dane spełniające określone kryteria. Mogą istnieć scenariusze, w których filtrowanie danych może okazać się pomocne. Na przykład organizacja może chcieć odfiltrować produkty o niskiej wydajności z raportu sprzedaży, aby przeanalizować i udoskonalić swoje strategie sprzedaży. W tym artykule dowiesz się, jak dodawać lub usuwać Autofiltr w plikach Excela przy użyciu C++.
- Interfejs API języka C++ do dodawania i usuwania autofiltru w plikach programu Excel
- Zastosuj autofiltr w plikach Excela przy użyciu C++
- Dodaj autofiltr daty w plikach Excela przy użyciu C++
- Dodaj dynamiczny autofiltr daty w pliku programu Excel przy użyciu języka C++
- Zastosuj niestandardowy autofiltr w plikach programu Excel przy użyciu języka C++
- Usuń Autofiltr z plików Excela
C++ API do dodawania i usuwania autofiltru w plikach Excela
Wykorzystamy API Aspose.Cells for C++ do dodawania i usuwania AutoFiltera w plikach Excela. Jest to natywna biblioteka C++, która umożliwia tworzenie, odczytywanie i modyfikowanie plików programu Excel bez konieczności instalowania programu Microsoft Excel. Możesz zainstalować API poprzez NuGet lub pobrać bezpośrednio z sekcji Downloads.
PM> Install-Package Aspose.Cells.Cpp
Zastosuj autofiltr w plikach Excela przy użyciu C++
Możesz zastosować Autofiltr do zakresu komórek. Autofiltry umożliwiają sortowanie i filtrowanie wartości w podanym zakresie komórek. Poniżej przedstawiono kroki dodawania Autofiltru w plikach programu Excel.
- Najpierw załaduj plik Excela przy użyciu klasy IWorkbook.
- Pobierz arkusz, w którym chcesz zastosować autofiltr, używając metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Zastosuj Autofiltr za pomocą IWorksheet->GetIAutoFilter()->SetRange(intrusiveptrAspose::Cells::Systems::String wartość) metoda.
- Na koniec zapisz plik programu Excel za pomocą opcji IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniższy przykładowy kod pokazuje, jak zastosować autofiltr do zakresu komórek w pliku programu Excel przy użyciu języka C++.
// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Załaduj źródłowy plik programu Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx")));
// Uzyskaj dostęp do pierwszego arkusza w pliku Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Tworzenie Autofiltru poprzez podanie zakresu komórek
worksheet->GetIAutoFilter()->SetRange(new String("A1:B1"));
// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
Dodaj autofiltr daty w plikach Excela przy użyciu C++
Pliki programu Excel mogą zawierać dane oparte na datach. Możesz znaleźć się w sytuacji, w której musisz filtrować i analizować dane na podstawie różnych dat. Dlatego filtr daty okaże się pomocny w takich scenariuszach. Poniżej przedstawiono kroki, aby dodać autofiltr daty w plikach Excel.
- Najpierw załaduj plik Excela przy użyciu klasy IWorkbook.
- Pobierz arkusz, w którym chcesz zastosować autofiltr, używając metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Zastosuj autofiltr daty za pomocą IWorksheet->GetIAutoFilter()->AddDateFilter(Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::DateTimeGroupingType dateTimeGroupingType, Aspose::Cells::Systems::Int32 rok, Aspose ::Komórki::Systemy::Int32 miesiąc, Aspose::Komórki::Systemy::Int32 dzień, Aspose::Komórki::Systemy::Int32 godzina, Aspose::Komórki::Systemy::Int32 minuty, Aspose:: Komórki::Systemy::Int32 sekunda) metoda.
- Aby zaktualizować arkusz, użyj metody IWorksheet->GetIAutoFilter()->Refresh().
- Na koniec zapisz plik programu Excel za pomocą opcji IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniższy przykładowy kod ilustruje sposób dodawania autofiltru daty w plikach programu Excel przy użyciu języka C++.
// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Załaduj źródłowy plik programu Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));
// Uzyskaj dostęp do pierwszego arkusza w pliku Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Wywołaj funkcję AddDateFilter, aby zastosować filtr
worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0);
// Wywołaj funkcję Refresh, aby zaktualizować arkusz
worksheet->GetIAutoFilter()->Refresh();
// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));
Dodaj dynamiczny autofiltr daty w pliku programu Excel przy użyciu języka C++
W niektórych przypadkach może być potrzebny bardziej ogólny filtr dat, na przykład miesiąc niezależnie od roku lub miesiąc przed bieżącym miesiącem. W przypadku takich scenariuszy można użyć dynamicznego autofiltru do filtrowania danych. Poniżej przedstawiono kroki filtrowania danych przy użyciu autofiltru dynamicznej daty.
- Najpierw załaduj plik Excela przy użyciu klasy IWorkbook.
- Pobierz arkusz, w którym chcesz zastosować autofiltr, używając metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Zastosuj filtr dynamiczny przy użyciu metody IWorksheet->GetIAutoFilter()->DynamicFilter (Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::DynamicFilterType dynamicFilterType).
- Aby zaktualizować arkusz, użyj metody IWorksheet->GetIAutoFilter()->Refresh().
- Na koniec zapisz plik programu Excel za pomocą opcji IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniższy przykładowy kod ilustruje sposób dodawania dynamicznego autofiltru daty w pliku programu Excel przy użyciu języka C++.
// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Załaduj źródłowy plik programu Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));
// Uzyskaj dostęp do pierwszego arkusza w pliku Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Wywołaj funkcję DynamicFilter, aby zastosować filtr
worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray);
// Wywołaj funkcję Refresh, aby zaktualizować arkusz
worksheet->GetIAutoFilter()->Refresh();
// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));
Zastosuj niestandardowy autofiltr w plikach programu Excel przy użyciu języka C++
Jeśli chcesz zastosować niestandardowy Autofiltr, Aspose.Cells for C++ API zapewnia Ci ochronę. Korzystając z interfejsu API, możesz zastosować niestandardowy autofiltr w plikach Excel w oparciu o określone wymagania. Poniżej przedstawiono kroki dodawania niestandardowego autofiltru w plikach programu Excel.
- Najpierw załaduj plik Excela przy użyciu klasy IWorkbook.
- Pobierz arkusz, w którym chcesz zastosować autofiltr, używając metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Zastosuj niestandardowy autofiltr za pomocą IWorksheet->GetIAutoFilter()->Custom(Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::FilterOperatorType operatorType1, intrusiveptrAspose::Cells::Systems::Object kryteria1) metoda.
- Wywołaj metodę IWorksheet->GetIAutoFilter()->Refresh(), aby zaktualizować arkusz.
- Na koniec zapisz plik programu Excel za pomocą opcji IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniższy przykładowy kod pokazuje, jak dodać niestandardowy autofiltr w plikach programu Excel przy użyciu języka C++.
// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Załaduj źródłowy plik programu Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx")));
// Uzyskaj dostęp do pierwszego arkusza w pliku Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Wywołaj funkcję niestandardową, aby zastosować filtr
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));
// Wywołaj funkcję Refresh, aby zaktualizować arkusz
worksheet->GetIAutoFilter()->Refresh();
// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));
Usuń Autofiltr z plików Excela
W poprzednich sekcjach nauczyłeś się, jak dodawać różne autofiltry w plikach programu Excel. Oprócz dodawania autofiltrów można je również usunąć za pomocą interfejsu API Aspose.Cells for C++. Poniżej przedstawiono kroki, aby usunąć Autofiltry z plików programu Excel.
- Najpierw załaduj plik Excela przy użyciu klasy IWorkbook.
- Pobierz arkusz z miejsca, w którym chcesz usunąć Autofiltr, używając metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Usuń AutoFilter przy użyciu metody IWorksheet->RemoveAutoFilter().
- Na koniec zapisz plik programu Excel za pomocą opcji IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniższy przykładowy kod pokazuje, jak usunąć autofiltr z pliku programu Excel przy użyciu języka C++.
// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Załaduj źródłowy plik programu Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx")));
// Uzyskaj dostęp do pierwszego arkusza w pliku Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Usuń autofiltry
worksheet->RemoveAutoFilter();
// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));
Uzyskaj bezpłatną licencję
Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się, jak dodawać i usuwać autofiltry z plików programu Excel przy użyciu języka C++. W szczególności nauczyłeś się, jak dodawać domyślne, daty, daty dynamiczne i niestandardowe autofiltry. Widziałeś również, jak usunąć AutoFilter za pomocą Aspose.Cells for C++ API. Interfejs API zapewnia wiele dodatkowych funkcji do pracy z plikami programu Excel. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań skontaktuj się z nami na naszym darmowym forum pomocy technicznej.