Filtruj puste i niepuste komórki w Excelu używając C#

Puste komórki mogą powodować problemy w raportach i analizach w Excelu. Filtrowanie ich pomaga w oczyszczaniu i organizowaniu danych w celu uzyskania lepszych wyników. Automatyzacja filtrowania pustych komórek w Excelu może zaoszczędzić czas i poprawić wydajność. Zaledwie kilka linii kodu pozwoli Ci szybko i dokładnie obsługiwać duże arkusze kalkulacyjne. Ten blog poprowadzi Cię przez proces filtrowania komórek pustych i niepustych przy użyciu C#. Zanurzmy się w to!

Ten artykuł porusza następujące tematy:

Biblioteka C# Excel do filtrowania pustych i niepustych komórek

Aspose.Cells for .NET to potężna biblioteka, która pomaga programistom tworzyć, edytować i zarządzać plikami Excel bez użycia Microsoft Excel. Daje pełną kontrolę nad arkuszami kalkulacyjnymi, w tym możliwość stosowania filtrów do danych.

Kiedy chodzi o filtrowanie pustych lub niepustych komórek, Aspose.Cells upraszcza ten proces. Możesz dodać filtr do konkretnej kolumny, wybrać opcje puste lub niepuste i zaktualizować arkusz — wszystko za pomocą czystego i łatwego do przeczytania kodu. To oszczędza czas i redukuje błędy w porównaniu do ręcznej edycji.

Niezależnie od tego, czy tworzysz raporty, porządkujesz dane, czy przygotowujesz podsumowania, Aspose.Cells pozwala efektywnie zautomatyzować proces filtrowania.

Zanim zaczniesz, upewnij się, że masz następujące:

Instalacja Aspose.Cells for .NET

  1. Zainstaluj za pomocą Menedżera Pakietów NuGet:

    • Otwórz swój projekt .NET w Visual Studio.
    • Przejdź do Narzędzia → Menedżer pakietów NuGet → Zarządzaj pakietami NuGet dla rozwiązania.
    • Szukaj Aspose.Cells i zainstaluj pakiet.

Lub uruchom to polecenie w Konsoli Menedżera Pakietów:

Install-Package Aspose.Cells
  1. Pobierz ręcznie:

Jak filtrować puste komórki w C# przy użyciu Aspose.Cells

Filtrowanie pustych komórek w Excelu za pomocą Aspose.Cells to prosty proces. Ładujesz plik, stosujesz AutoFilter do określonego zakresu i filtrujesz puste wpisy. Oto jak można to zrobić krok po kroku:

1. Ładowanie pliku Excel

Najpierw musisz załadować swój plik Excel do obiektu Workbook.

// Load an existing Excel file
Workbook workbook = new Workbook("input.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

2. Zastosowanie AutoFiltra

Ustaw zakres, w którym chcesz zastosować filtr. Zazwyczaj jest to tabela lub obszar danych, który chcesz oczyścić.

// Apply AutoFilter on the desired range
worksheet.AutoFilter.Range = "A1:C20"; // Adjust the range based on your data

3. Filtrowanie pustych komórek

Teraz dodaj filtr do określonej kolumny. Tutaj będziemy filtrować puste komórki w pierwszej kolumnie (indeks 0).

Metoda 1: Wywołaj funkcję MatchBlanks, aby zastosować filtr

worksheet.AutoFilter.MatchBlanks(1);

Metoda 2: Wywołaj funkcję AddFilter i ustaw kryteria na null

worksheet.AutoFilter.AddFilter(1, null);

Metoda 3: Zastosuj filtr dla pustych komórek w pierwszej kolumnie

worksheet.AutoFilter.AddFilter(0, ""); // Empty string represents blank cells
worksheet.AutoFilter.Refresh();

Finally, save the filtered file.

// Save the updated file
workbook.Save("filtered_blank_cells.xlsx");

Przykład kodu: Filtracja pustych komórek w C#

using Aspose.Cells;

// Załaduj plik Excel
Workbook workbook = new Workbook("sample_blanks.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

// Zastosuj AutoFilter do określonego zakresu
worksheet.AutoFilter.Range = "A1:C20";

// Call AddFilter function and set criteria to \"\"
worksheet.AutoFilter.AddFilter(1, "");
worksheet.AutoFilter.Refresh();

// Save the output
workbook.Save("filtered_blank_cells.xlsx");
Jak filtrować puste komórki w C# przy użyciu Aspose.Cells

Jak filtrować puste komórki w C# używając Aspose.Cells

Zrozumienie kluczowych klas używanych w filtrowaniu

  • AutoFilter.Range Określa zakres komórek, w którym zostanie zastosowany filtr.

  • AddFilter(columnIndex, criteria) Dodaje warunek filtra do określonej kolumny. W tym przypadku pusty ciąg \"\" filtruje puste komórki.

  • Refresh() Stosuje i aktualizuje filtr na podstawie dodanych kryteriów.

Filtruj komórki niepuste w Excelu za pomocą C#

Filtrowanie niepustych komórek za pomocą Aspose.Cells jest równie proste. Zamiast ustawiać filtr na pusty ciąg, możesz filtrować według wszystkich dostępnych wartości z wyjątkiem pustych.

// Filter out blank cells in the first column (index 0)
worksheet.AutoFilter.Filter(0, 0); // 0 represents filtering non-blank cells

Mała modyfikacja, aby filtrować tylko niepuste komórki.

Możesz użyć metody MatchNonBlanks() bezpośrednio. Alternatywnie, możesz ręcznie wymienić znane wpisy niepuste, jeśli zajdzie taka potrzeba.

using Aspose.Cells;

// Załaduj swój skoroszyt
var workbook = new Workbook("sample_blanks.xlsx");

// Uzyskiwanie dostępu do pierwszego arkusza roboczego w pliku Excel
Worksheet worksheet = workbook.Worksheets[0];

// Call MatchBlanks function to apply the filter
worksheet.AutoFilter.MatchNonBlanks(1);

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

// Zapisanie zmodyfikowanego pliku Excel
workbook.Save("filtered_non_blanks.xlsx");
Filtruj niepuste komórki w Excelu za pomocą C#

Filtruj komórki, które nie są puste w Excelu za pomocą C#

Jeśli chcesz mieć większą kontrolę (np. filtrowanie według konkretnych wartości tekstowych), możesz wielokrotnie używać AddFilter z rzeczywistymi wartościami zamiast pustego ciągu.

Łączenie wielu filtrów w C#

Aspose.Cells for .NET również pozwala na jednoczesne stosowanie wielu filtrów. Możesz filtrować według pustych komórek, określonych wartości tekstowych lub liczb — wszystko w obrębie tego samego zakresu.

To jest przydatne, gdy chcesz:

  • Pokaż tylko puste komórki i niektóre konkretne wpisy.
  • Połącz wiele warunków w jednej kolumnie.
  • Zastosuj różne filtry w różnych kolumnach.

Przykład: Łączenie filtrów

 using Aspose.Cells;
 
 // Załaduj plik Excel
 Workbook workbook = new Workbook("sample_blanks.xlsx");
 Worksheet worksheet = workbook.Worksheets[0];

 // Ustaw zakres AutoFiltra
 worksheet.AutoFilter.Range = "A1:C20";

 // Dodaj wiele filtrów w pierwszej kolumnie (indeks 0)
 worksheet.AutoFilter.AddFilter(1, "");       // Blank cells
 worksheet.AutoFilter.AddFilter(1, "AFG");    // Specific text value
 worksheet.AutoFilter.Refresh();

 // Save the result
 workbook.Save("combined_filtered.xlsx", SaveFormat.Xlsx);
Łączenie wielu filtrów w C#

Łączenie wielu filtrów w C#

In this example:

  • Pokazuje zarówno wiersze z pustymi komórkami, jak i wiersze, w których kolumna kodu kraju to "AFG".
  • Możesz dodać tyle wartości filtrów, ile potrzebujesz, przed wywołaniem Refresh().

Wskazówka: Aby filtrować po wielu kolumnach, po prostu użyj AddFilter na innych indeksach kolumn.

Zdobądź darmową licencję

Czy jesteś zainteresowany eksploracją produktów Aspose? Odwiedź stronę license page, aby uzyskać darmową tymczasową licencję. To proste, aby zacząć, a możesz doświadczyć pełnych możliwości Aspose.Cells for .NET!

Excel Filter Blanks: Darmowe zasoby

Chcesz dowiedzieć się więcej o pracy z plikami Excel za pomocą Aspose.Cells for .NET? Sprawdź te darmowe zasoby:

Wnioski

Filtrowanie pustych lub niepustych komórek w Excelu staje się proste i efektywne dzięki Aspose.Cells for .NET. Możesz zautomatyzować czyszczenie danych, tworzyć inteligentniejsze raporty i zaoszczędzić godziny ręcznej pracy. Niezależnie od tego, czy pracujesz z małymi plikami, czy z ogromnymi zbiorami danych, Aspose.Cells daje pełną kontrolę nad filtrowaniem, formatowaniem i eksportowaniem plików Excel za pomocą kodu.

Jeśli masz jakiekolwiek pytania lub potrzebujesz dalszej pomocy, nie wahaj się skontaktować z nami na naszym free support forum.

Zobacz także