Filtrování informací v excelových tabulkách je důležitou funkcí. Umožňuje skrýt nepodstatná data a zobrazit pouze data splňující určitá kritéria. Mohou existovat scénáře, kdy se filtrování dat může ukázat jako užitečné. Organizace může například chtít z přehledu prodeje odfiltrovat produkty s nízkým výkonem, aby mohla analyzovat a zlepšit své prodejní strategie. V tomto článku se dozvíte, jak přidat nebo odebrat Automatický filtr v souborech Excel pomocí C++.

C++ API pro přidávání a odebírání automatického filtru v souborech aplikace Excel

Pro přidávání a odebírání automatického filtru v souborech aplikace Excel použijeme API Aspose.Cells for C++. Jedná se o nativní knihovnu C++, která vám umožňuje vytvářet, číst a upravovat soubory aplikace Excel bez nutnosti instalace aplikace Microsoft Excel. Rozhraní API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce Downloads.

PM> Install-Package Aspose.Cells.Cpp

Použijte Automatický filtr v souborech Excel pomocí C++

Automatický filtr můžete použít na řadu buněk. Automatické filtry umožňují seřadit a filtrovat hodnoty v daném rozsahu buněk. Následují kroky pro přidání automatického filtru do souborů aplikace Excel.

Následující ukázkový kód ukazuje, jak použít Automatický filtr na oblast buněk v souboru Excel pomocí C++.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načtěte zdrojový soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx")));

// Otevřete první list v souboru aplikace Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Vytvoření automatického filtru zadáním rozsahu buněk
worksheet->GetIAutoFilter()->SetRange(new String("A1:B1"));

// Uložte soubor aplikace Excel
workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
Obrázek výstupního souboru generovaný ukázkovým kódem

Obrázek výstupního souboru generovaný ukázkovým kódem

Přidejte automatický filtr data do souborů aplikace Excel pomocí C++

Soubory Excel mohou obsahovat data založená na datech. Můžete se ocitnout ve scénářích, kdy potřebujete filtrovat a analyzovat data na základě různých dat. Proto se v takových scénářích ukáže jako užitečný filtr data. Následují kroky k přidání automatického filtru data do souborů aplikace Excel.

Následující ukázkový kód ukazuje, jak přidat automatický filtr data do souborů aplikace Excel pomocí C++.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načtěte zdrojový soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// Otevřete první list v souboru aplikace Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Chcete-li použít filtr, zavolejte funkci AddDateFilter
worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0);

// Chcete-li list aktualizovat, zavolejte funkci Refresh
worksheet->GetIAutoFilter()->Refresh();

// Uložte soubor Excel
workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));

Přidejte dynamický automatický filtr data do souboru aplikace Excel pomocí C++

Mohou nastat případy, kdy budete potřebovat obecnější filtr data, například měsíc bez ohledu na rok nebo měsíc předcházející aktuálnímu měsíci. Pro scénáře, jako je tento, můžete k filtrování dat použít dynamický automatický filtr. Následují kroky k filtrování dat pomocí dynamického automatického filtru data.

Následující ukázkový kód ukazuje, jak přidat dynamický automatický filtr data do souboru aplikace Excel pomocí C++.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načtěte zdrojový soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// Otevřete první list v souboru aplikace Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Chcete-li použít filtr, zavolejte funkci DynamicFilter
worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray);

// Chcete-li list aktualizovat, zavolejte funkci Refresh
worksheet->GetIAutoFilter()->Refresh();

// Uložte soubor aplikace Excel
workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));

Použijte vlastní automatický filtr v souborech Excel pomocí C++

V případě, že chcete použít vlastní automatický filtr, Aspose.Cells for C++ API vám pomůže. Pomocí rozhraní API můžete použít vlastní automatický filtr v souborech aplikace Excel na základě vašich konkrétních požadavků. Následují kroky k přidání vlastního automatického filtru do souborů aplikace Excel.

Následující ukázkový kód ukazuje, jak přidat vlastní automatický filtr do souborů aplikace Excel pomocí C++.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načtěte zdrojový soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx")));

// Otevřete první list v souboru aplikace Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Chcete-li použít filtr, zavolejte funkci Custom
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));

// Chcete-li list aktualizovat, zavolejte funkci Refresh
worksheet->GetIAutoFilter()->Refresh();

// Uložte soubor Excel
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));

Odebrat Automatický filtr ze souborů aplikace Excel

V předchozích částech jste se naučili přidávat různé automatické filtry do souborů aplikace Excel. Kromě přidání automatických filtrů je můžete také odstranit pomocí rozhraní Aspose.Cells for C++ API. Níže jsou uvedeny kroky k odstranění automatických filtrů ze souborů aplikace Excel.

Následující ukázkový kód ukazuje, jak odebrat automatický filtr ze souboru aplikace Excel pomocí C++.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načtěte zdrojový soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx")));

// Otevřete první list v souboru aplikace Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Odebrat automatické filtry
worksheet->RemoveAutoFilter();

// Uložte soubor aplikace Excel
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));

Získejte bezplatnou licenci

Rozhraní API můžete vyzkoušet bez omezení hodnocení tím, že požádáte o bezplatnou dočasnou licenci.

Závěr

V tomto článku jste se naučili přidávat a odebírat automatické filtry ze souborů aplikace Excel pomocí C++. Konkrétně jste se naučili, jak přidat výchozí, datum, dynamické datum a vlastní automatické filtry. Také jste viděli, jak odstranit AutoFilter pomocí Aspose.Cells for C++ API. Rozhraní API poskytuje mnoho dalších funkcí pro práci se soubory aplikace Excel. Rozhraní API můžete podrobně prozkoumat na oficiální dokumentaci. V případě jakýchkoli dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.

Viz také