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++.

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.

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")));
Obraz pliku wyjściowego wygenerowany przez przykładowy kod

Obraz pliku wyjściowego wygenerowany przez przykładowy kod

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.

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.

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.

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.

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.

Zobacz też