Formaty plików XLSX i XLS są często używane do manipulowania ogromnymi danymi. Podobnie Autofiltry służą do organizowania danych w plikach programu Excel. Korzystając z C# lub VB.NET, możesz łatwo dodawać lub usuwać AutoFilter w plikach Excela za pomocą Aspose.Cells for .NET API. Filtry mogą służyć do ilościowego określania niektórych danych w celu wyodrębnienia pewnych istotnych informacji. Na przykład organizacja chce odfiltrować miesiące z niską sprzedażą, aby opracować i udoskonalić swoje strategie. W tym artykule przyjrzymy się filtrowaniu danych przy użyciu filtrów automatycznych w języku C#:

C# VB .NET Dodaj lub usuń Autofiltr w plikach Excel - Instalacja API

Aspose.Cells for .NET API pozwala wydajnie pracować z arkuszami kalkulacyjnymi Excel. Możesz programowo tworzyć, edytować lub manipulować formatami XLS, XLSX i innymi obsługiwanymi formatami przy minimalnym kodzie. Możesz pobrać i zainstalować pakiet MSI lub ZIP z sekcji pobierania lub po prostu zainstalować go za pośrednictwem galerii NuGet w swoim rozwiązaniu. Na przykład możesz łatwo zainstalować go w swoim środowisku za pomocą następującego polecenia:

Install-Package Aspose.Cells -Version 20.9.0

Po pomyślnym zainstalowaniu interfejsu API przejdźmy do niektórych ważnych i przydatnych przypadków użycia.

Zastosuj autofiltr do komórek w plikach Excela przy użyciu C#

Możesz zastosować Autofiltr do określonego zakresu komórek w plikach Excel. Umożliwia to sortowanie wartości w porządku rosnącym lub malejącym, a także inne filtry liczbowe, gdy komórki zawierają wartości liczbowe. Musisz wykonać następujące kroki, aby zastosować Autofiltr w plikach programu Excel przy użyciu języka C#:

  1. Otwórz plik Excela i uzyskaj dostęp do Arkusz roboczy
  2. Utwórz Autofiltr, określając określony zakres komórek
  3. Zapisz wyjściowy plik XLS/XLSX

Fragment kodu pokazuje, jak zastosować Autofiltr do komórek w pliku Excel przy użyciu języka C#:

// Tworzenie wystąpienia obiektu skoroszytu
// Otwieranie pliku programu Excel za pomocą strumienia plików
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(dataDir + "book1.xls");

// Dostęp do pierwszego arkusza w pliku Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

// Tworzenie Autofiltru poprzez podanie zakresu komórek wiersza nagłówka
worksheet.AutoFilter.Range = "A1:B1";

// Zapisywanie zmodyfikowanego pliku Excel
workbook.Save(dataDir + "output.xlsx");

Możesz zauważyć Autofiltr dodany w źródłowym pliku XLSX na poniższym zrzucie ekranu:

Autofiltr-Excel-Csharp

Dodaj autofiltr daty w XLSX przy użyciu C#

Dane w plikach Excel często zawierają informacje związane z datami. Czasami może być konieczne zbadanie informacji na podstawie różnych okresów, które można zidentyfikować na podstawie dat. Dla przykładu rozważmy przypadek, w którym musimy przefiltrować dane dotyczące stycznia 2018 r., wtedy należy wykonać następujące kroki:

  1. Załaduj wejściowy arkusz kalkulacyjny
  2. Dostęp do arkusza
  3. Dodaj filtr daty i zapisz plik wyjściowy

Poniższy przykładowy kod wykonuje następujące kroki i pokazuje, jak dodać autofiltr dat w plikach programu Excel przy użyciu języka C#:

// Tworzenie wystąpienia obiektu skoroszytu
// Otwieranie pliku programu Excel za pomocą strumienia plików
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Dostęp do pierwszego arkusza w pliku Excel
Worksheet worksheet = workbook.Worksheets[0];

// Wywołaj funkcję AddDateFilter, aby zastosować filtr
worksheet.AutoFilter.AddDateFilter(0, DateTimeGroupingType.Month, 2018, 1, 0, 0, 0, 0);

// Wywołaj funkcję odświeżania, aby zaktualizować arkusz
worksheet.AutoFilter.Refresh();

// Zapisywanie zmodyfikowanego pliku Excel
workbook.Save(dataDir + "FilteredDate.xlsx");

Dodaj dynamiczny autofiltr daty w XLSX przy użyciu C#

Jak już omówiliśmy scenariusz filtrowania danych na podstawie dat. Jednak scenariusz daty może być również nieco bardziej ogólny, w niektórych scenariuszach. Na przykład potrzebujemy odfiltrować dane dla miesiąca stycznia, niezależnie od roku. Takie wymagania można łatwo obsłużyć za pomocą dynamicznego filtru dat, wykonując poniższe czynności:

  1. Załaduj wejściowy plik XLSX
  2. Uzyskaj dostęp do arkusza roboczego
  3. Ustaw DynamicFilter na miesiąc styczeń
  4. Zapisz wynikowy arkusz Excela

Ten przykład jest kontynuacją powyższego przykładu, w którym poniższy fragment kodu pokazuje, jak programowo dodać dynamiczny autofiltr daty w pliku programu Excel w języku C#:

// Tworzenie wystąpienia obiektu skoroszytu
// Otwieranie pliku programu Excel za pomocą strumienia plików
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Dostęp do pierwszego arkusza w pliku Excel
Worksheet worksheet = workbook.Worksheets[0];

// Wywołaj funkcję DynamicFilter, aby zastosować filtr
worksheet.AutoFilter.DynamicFilter(0, DynamicFilterType.January);

// Wywołaj funkcję odświeżania, aby zaktualizować arkusz
worksheet.AutoFilter.Refresh();

// Zapisywanie zmodyfikowanego pliku Excel
workbook.Save(dataDir + "FilteredDynamicDate.xlsx");

Zastosuj autofiltr niestandardowych numerów w XLSX za pomocą C#

Możesz filtrować dane na podstawie niestandardowego zakresu liczb przy użyciu Aspose.Cells for .NET API. Na przykład, gdy firma potrzebuje dostępu do tego, ilu jej pracowników osiągnęło cele sprzedażowe. Podobnie, może istnieć wiele możliwości, w których ta technika filtrowania może pomóc. Załóżmy przypadek, w którym musimy przefiltrować wszystkie dane, w których liczby mieszczą się w przedziale od 5 do 10 włącznie, wtedy należy wykonać następujące kroki:

  1. Utwórz instancję obiektu Workbook i załaduj plik wejściowy
  2. Dodaj niestandardowy filtr liczb w określonym arkuszu
  3. Zapisz wyjściowy plik Excel

W oparciu o te kroki poniższy kod pokazuje, jak dodać niestandardowy autofiltr numerów przy użyciu języka C#:

// Tworzenie wystąpienia obiektu skoroszytu
// Otwieranie pliku programu Excel za pomocą strumienia plików
Workbook workbook = new Workbook(dataDir + "Number.xlsx");

// Dostęp do pierwszego arkusza w pliku Excel
Worksheet worksheet = workbook.Worksheets[0];

// Wywołaj funkcję niestandardową, aby zastosować filtr
worksheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, 5, true, FilterOperatorType.LessOrEqual, 10);

// Wywołaj funkcję odświeżania, aby zaktualizować arkusz
worksheet.AutoFilter.Refresh();

// Zapisywanie zmodyfikowanego pliku Excel
workbook.Save(dataDir + "FilteredNumber.xlsx");

Dodaj niestandardowy autofiltr z zawartością za pomocą C#

Posuwając się o krok dalej od niestandardowego autofiltru numerów, nauczmy się, jak dodać niestandardowy autofiltr, którego można użyć do śledzenia określonego tekstu za pomocą operatora filtru zawierającego. Przydatne może być wyszukiwanie słów, w których jakikolwiek tekst jest częściowo lub całkowicie obecny w danych. Aby spełnić te wymagania, wykonaj następujące kroki:

  1. Załaduj wejściowy plik Excel z danymi
  2. Określ zakres AutoFilter i FilterOperatorType
  3. Zapisz wyjściowy plik XLSX

Poniższy fragment kodu pokazuje, jak dodać niestandardowy autofiltr z zawartością przy użyciu języka C#:

// Tworzenie instancji obiektu Workbook zawierającego przykładowe dane
Workbook workbook = new Workbook(dataDir + "sourseSampleCountryNames.xlsx");

// Dostęp do pierwszego arkusza w pliku Excel
Worksheet worksheet = workbook.Worksheets[0];

// Tworzenie Autofiltru poprzez podanie zakresu komórek
worksheet.AutoFilter.Range = "A1:A18";

// Zainicjuj filtr dla wierszy zawierających ciąg „Ba”
worksheet.AutoFilter.Custom(0, FilterOperatorType.Contains, "Ba");

//Odśwież filtr, aby pokazać/ukryć przefiltrowane wiersze
worksheet.AutoFilter.Refresh();

// Zapisywanie zmodyfikowanego pliku Excel
workbook.Save(dataDir + "outSourseSampleCountryNames.xlsx");

Usuń lub usuń autofiltr w programie Excel przy użyciu języka C#

Ponieważ poznaliśmy różne scenariusze dodawania Autofiltrów w plikach Excela przy użyciu języka C#, spójrzmy na odwrót. Przypadek użycia usuwania lub usuwania autofiltrów z programu Excel jest równie ważny i kluczowy. Aby usunąć wszystkie autofiltry z pliku XLSX, wykonaj poniższe czynności:

  1. Załaduj wejściowy plik XLSX
  2. Przejrzyj każdy arkusz i usuń Autofiltry
  3. Zapisz plik wyjściowy

Poniższy fragment kodu pokazuje, jak usunąć autofiltry z plików programu Excel przy użyciu języka C#:

// Tworzenie wystąpienia obiektu skoroszytu
// Otwarcie pliku Excela
Workbook workbook = new Workbook(dataDir + "output.xlsx");
// Przejrzyj każdy arkusz
foreach (var sheet in workbook.Worksheets)
{
    // Usuń autofiltry
    sheet.RemoveAutoFilter();
}
// Zapisz skoroszyt
workbook.Save(dataDir + "AutoFilter_Removed.xlsx", SaveFormat.Xlsx);

Wniosek

Aspose.Cells for .NET API oferuje różne gotowe funkcje. Dodawanie, usuwanie lub usuwanie autofiltru przy użyciu języka C# w .NET Framework jest proste i łatwe. Szczegółowo omówiliśmy kilka możliwości. Jeśli masz jakiekolwiek wątpliwości lub wątpliwości, skontaktuj się z nami pod adresem Free Support Forum.

Zobacz też