Formáty souborů XLSX a XLS se často používají k manipulaci s velkými daty. Podobně se automatické filtry používají k uspořádání dat v souborech aplikace Excel. Pomocí C# nebo VB.NET můžete snadno přidat nebo odebrat Automatický filtr v souborech aplikace Excel pomocí Aspose.Cells for .NET API. Filtry lze použít ke kvantifikaci některých dat a extrahovat nějaké smysluplné informace. Organizace chce například filtrovat měsíce s nízkým prodejem, aby mohla navrhnout a zlepšit své strategie. V tomto článku prozkoumáme filtrování dat pomocí automatických filtrů v C#:

C# VB .NET Přidání nebo odebrání automatického filtru v souborech aplikace Excel - Instalace API

Aspose.Cells for .NET API umožňuje efektivně pracovat s tabulkami aplikace Excel. XLS, XLSX a další podporované formáty můžete vytvářet, upravovat nebo s nimi manipulovat programově s minimálním kódem. Balíček MSI nebo ZIP si můžete stáhnout a nainstalovat z části ke stažení nebo jej jednoduše nainstalovat prostřednictvím galerie NuGet ve vašem řešení. Můžete jej například snadno nainstalovat do svého prostředí pomocí následujícího příkazu:

Install-Package Aspose.Cells -Version 20.9.0

Po úspěšné instalaci rozhraní API pojďme pokračovat v některých důležitých a užitečných případech použití.

Použití automatického filtru na buňky v souborech Excel pomocí C#

Automatický filtr můžete použít na určitý rozsah buněk v souborech aplikace Excel. To vám umožňuje seřadit hodnoty ve vzestupném nebo sestupném pořadí, stejně jako další filtry čísel, pokud buňky obsahují číselné hodnoty. Chcete-li použít Automatický filtr v souborech Excel pomocí C#, musíte postupovat podle následujících kroků:

  1. Otevřete soubor Excel a otevřete Pracovní list
  2. Vytvořte Automatický filtr zadáním konkrétního rozsahu buněk
  3. Uložit výstupní soubor XLS/XLSX

Fragment kódu ukazuje, jak použít Automatický filtr na buňky v souboru Excel pomocí C#:

// Vytvoření instance objektu sešitu
// Otevření souboru aplikace Excel prostřednictvím datového proudu souborů
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(dataDir + "book1.xls");

// Přístup k prvnímu listu v souboru aplikace Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

// Vytvoření automatického filtru zadáním rozsahu buněk řádku záhlaví
worksheet.AutoFilter.Range = "A1:B1";

// Uložení upraveného souboru Excel
workbook.Save(dataDir + "output.xlsx");

Automatický filtr přidaný do zdrojového souboru XLSX si můžete všimnout na níže uvedeném snímku obrazovky:

Automatický filtr-Excel-Csharp

Přidat automatický filtr data v XLSX pomocí C#

Data v souborech aplikace Excel často obsahují informace související s daty. Někdy možná budete muset prozkoumat informace založené na různých časových obdobích, která lze identifikovat podle dat. Podívejme se například na případ, kdy potřebujeme filtrovat data související s lednem 2018, pak musíte postupovat podle následujících kroků:

  1. Načíst vstupní tabulku
  2. Přístup k pracovnímu listu
  3. Přidejte datový filtr a uložte výstupní soubor

Následující ukázka kódu následuje tyto kroky a ukazuje, jak přidat Automatický filtr data do souborů Excel pomocí C#:

// Vytvoření instance objektu sešitu
// Otevření souboru aplikace Excel prostřednictvím datového proudu souborů
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Přístup k prvnímu listu v souboru aplikace Excel
Worksheet worksheet = workbook.Worksheets[0];

// Chcete-li použít filtr, zavolejte funkci AddDateFilter
worksheet.AutoFilter.AddDateFilter(0, DateTimeGroupingType.Month, 2018, 1, 0, 0, 0, 0);

// Zavolejte funkci obnovení pro aktualizaci listu
worksheet.AutoFilter.Refresh();

// Uložení upraveného souboru Excel
workbook.Save(dataDir + "FilteredDate.xlsx");

Přidejte dynamický automatický filtr data do XLSX pomocí C#

Jak jsme již probrali scénář filtrování dat na základě dat. Scénář data však může být v některých scénářích také trochu obecnější. Potřebujeme například odfiltrovat data za měsíc leden bez ohledu na rok. Takové požadavky lze snadno zvládnout pomocí dynamického filtru data pomocí následujících kroků:

  1. Načtěte vstupní soubor XLSX
  2. Přístup k pracovnímu listu
  3. Nastavte DynamicFilter na měsíc leden
  4. Uložit výstupní list Excel

Tento příklad je pokračováním výše uvedeného příkladu, kde níže uvedený úryvek kódu ukazuje, jak přidat dynamický automatický filtr data do souboru Excel programově v C#:

// Vytvoření instance objektu sešitu
// Otevření souboru aplikace Excel prostřednictvím datového proudu souborů
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Přístup k prvnímu listu v souboru aplikace Excel
Worksheet worksheet = workbook.Worksheets[0];

// Chcete-li použít filtr, zavolejte funkci DynamicFilter
worksheet.AutoFilter.DynamicFilter(0, DynamicFilterType.January);

// Zavolejte funkci obnovení pro aktualizaci listu
worksheet.AutoFilter.Refresh();

// Uložení upraveného souboru Excel
workbook.Save(dataDir + "FilteredDynamicDate.xlsx");

Použít automatický filtr vlastních čísel v XLSX s C#

Data můžete filtrovat na základě vlastního rozsahu čísel pomocí Aspose.Cells for .NET API. Například, když společnost potřebuje zjistit, kolik jejích zaměstnanců dosáhlo prodejních cílů. Stejně tak by mohlo existovat mnoho možností, kde může tato technika filtrování pomoci. Předpokládejme případ, kdy potřebujeme filtrovat všechna data, kde jsou čísla v rozsahu 5 až 10 včetně, pak musíte postupovat podle následujících kroků:

  1. Vytvořte instanci objektu Sešit a načtěte vstupní soubor
  2. Přidejte vlastní filtr čísel do konkrétního listu
  3. Uložit výstupní soubor Excel

Na základě těchto kroků následující kód ukazuje, jak přidat vlastní automatický filtr čísel pomocí C#:

// Vytvoření instance objektu sešitu
// Otevření souboru aplikace Excel prostřednictvím datového proudu souborů
Workbook workbook = new Workbook(dataDir + "Number.xlsx");

// Přístup k prvnímu listu v souboru aplikace Excel
Worksheet worksheet = workbook.Worksheets[0];

// Chcete-li použít filtr, zavolejte funkci Custom
worksheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, 5, true, FilterOperatorType.LessOrEqual, 10);

// Zavolejte funkci obnovení pro aktualizaci listu
worksheet.AutoFilter.Refresh();

// Uložení upraveného souboru Excel
workbook.Save(dataDir + "FilteredNumber.xlsx");

Přidat vlastní automatický filtr s obsahem pomocí C#

Posuneme-li se o další krok dále od vlastního automatického filtru čísel, naučíme se, jak přidat vlastní automatický filtr, který lze použít ke sledování konkrétního textu pomocí operátoru filtru obsahuje. Může být užitečné hledat slova, kde je v datech částečně nebo úplně přítomen jakýkoli text. K dosažení těchto požadavků byste měli postupovat podle následujících kroků:

  1. Načíst vstupní soubor Excel s daty
  2. Zadejte rozsah AutoFilter a FilterOperatorType
  3. Uložit výstupní soubor XLSX

Fragment kódu níže ukazuje, jak přidat vlastní automatický filtr s obsahem pomocí jazyka C#:

// Vytvoření instance objektu Workbook obsahujícího ukázková data
Workbook workbook = new Workbook(dataDir + "sourseSampleCountryNames.xlsx");

// Přístup k prvnímu listu v souboru aplikace Excel
Worksheet worksheet = workbook.Worksheets[0];

// Vytvoření automatického filtru zadáním rozsahu buněk
worksheet.AutoFilter.Range = "A1:A18";

// Inicializovat filtr pro řádky obsahující řetězec "Ba"
worksheet.AutoFilter.Custom(0, FilterOperatorType.Contains, "Ba");

//Obnovením filtru zobrazíte/skryjete filtrované řádky
worksheet.AutoFilter.Refresh();

// Uložení upraveného souboru Excel
workbook.Save(dataDir + "outSourseSampleCountryNames.xlsx");

Odebrat nebo odstranit Automatický filtr v Excelu pomocí C#

Jak jsme se naučili různé scénáře přidávání automatických filtrů do souborů Excel pomocí C#, podívejme se na to obráceně. Případ použití odebrání nebo odstranění automatických filtrů z aplikace Excel je stejně důležitý a klíčový. Chcete-li odebrat všechny automatické filtry ze souboru XLSX, postupujte podle následujících kroků:

  1. Načtěte vstupní soubor XLSX
  2. Iterujte každý list a odeberte Automatické filtry
  3. Uložit výstupní soubor

Následující fragment kódu ukazuje, jak odstranit automatické filtry ze souborů aplikace Excel pomocí C#:

// Vytvoření instance objektu sešitu
// Otevření souboru aplikace Excel
Workbook workbook = new Workbook(dataDir + "output.xlsx");
// Projděte každý pracovní list
foreach (var sheet in workbook.Worksheets)
{
    // Odebrat automatické filtry
    sheet.RemoveAutoFilter();
}
// Uložte sešit
workbook.Save(dataDir + "AutoFilter_Removed.xlsx", SaveFormat.Xlsx);

Závěr

Aspose.Cells for .NET API vám nabízí různé funkce ihned po vybalení. Přidání, odebrání nebo odstranění automatického filtru pomocí jazyka C# v .NET Framework je jednoduché a snadné. Podrobně jsme probrali několik možností. V případě jakýchkoli pochybností nebo obav nás neváhejte kontaktovat na Free Support Forum.

Viz také