Excel elektronik tablolarındaki bilgileri filtrelemek önemli bir özelliktir. Alakasız verileri gizlemenizi ve yalnızca belirli kriterleri karşılayan verileri göstermenizi sağlar. Verileri filtrelemenin yardımcı olabileceği senaryolar olabilir. Örneğin, bir kuruluş satış stratejilerini analiz etmek ve iyileştirmek için düşük performanslı ürünleri satış raporundan çıkarmak isteyebilir. Bu makalede, C++ kullanarak Excel dosyalarına Otomatik Filtre eklemeyi veya kaldırmayı öğreneceksiniz.

Excel Dosyalarında Otomatik Filtre Ekleme ve Kaldırma için C++ API

Excel dosyalarına AutoFilter eklemek ve kaldırmak için Aspose.Cells for C++ API’sini kullanacağız. Microsoft Excel’in yüklenmesini gerektirmeden Excel dosyaları oluşturmanıza, okumanıza ve değiştirmenize izin veren yerel bir C++ kitaplığıdır. API’yi NuGet aracılığıyla yükleyebilir veya doğrudan İndirilenler bölümünden indirebilirsiniz.

PM> Install-Package Aspose.Cells.Cpp

C++ kullanarak Excel Dosyalarında Otomatik Filtre Uygulama

Otomatik Filtre’yi bir hücre aralığına uygulayabilirsiniz. Otomatik Filtreler, verilen hücre aralığındaki değerleri sıralamanıza ve filtrelemenize olanak tanır. Excel dosyalarına Otomatik Filtre ekleme adımları aşağıdadır.

Aşağıdaki örnek kod, C++ kullanılarak bir Excel dosyasındaki bir hücre aralığına Otomatik Filtre’nin nasıl uygulanacağını gösterir.

// Kaynak dizin yolu.
StringPtr srcDir = new String("SourceDirectory\\");

// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");

// Kaynak Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx")));

// Excel dosyasındaki ilk çalışma sayfasına erişin
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Hücre aralığını vererek Otomatik Filtre oluşturma
worksheet->GetIAutoFilter()->SetRange(new String("A1:B1"));

// Excel dosyasını kaydedin
workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
Örnek kod tarafından oluşturulan çıktı dosyasının görüntüsü

Örnek kod tarafından oluşturulan çıktı dosyasının görüntüsü

C++ kullanarak Excel Dosyalarına Otomatik Tarih Filtresi Ekleme

Excel dosyaları tarihlere dayalı veriler içerebilir. Kendinizi, verileri farklı tarihlere göre filtrelemeniz ve analiz etmeniz gereken senaryoların içinde bulabilirsiniz. Bu nedenle, bir tarih filtresi bu tür senaryolarda yardımcı olacaktır. Excel dosyalarına tarih Otomatik Filtresi ekleme adımları aşağıdadır.

Aşağıdaki örnek kod, C++ kullanılarak Excel dosyalarına tarih Otomatik Filtresinin nasıl ekleneceğini gösterir.

// Kaynak dizin yolu.
StringPtr srcDir = new String("SourceDirectory\\");

// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");

// Kaynak Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// Excel dosyasındaki ilk çalışma sayfasına erişin
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Filtreyi uygulamak için AddDateFilter işlevini çağırın
worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0);

// Çalışma sayfasını güncellemek için Yenile işlevini çağırın
worksheet->GetIAutoFilter()->Refresh();

// Excel dosyasını kaydedin
workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));

C++ kullanarak bir Excel Dosyasına Dinamik Tarih Otomatik Filtresi Ekleme

Yıldan bağımsız ay veya içinde bulunulan aydan önceki ay gibi daha genel bir tarih filtresine ihtiyaç duyduğunuz durumlar olabilir. Bunun gibi senaryolarda, verileri filtrelemek için dinamik Otomatik Filtre’yi kullanabilirsiniz. Aşağıda, bir dinamik tarih Otomatik Filtresi kullanarak verileri filtreleme adımları yer almaktadır.

Aşağıdaki örnek kod, C++ kullanarak bir Excel dosyasına dinamik tarih Otomatik Filtresi eklemeyi gösterir.

// Kaynak dizin yolu.
StringPtr srcDir = new String("SourceDirectory\\");

// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");

// Kaynak Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// Excel dosyasındaki ilk çalışma sayfasına erişin
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Filtreyi uygulamak için DynamicFilter işlevini çağırın
worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray);

// Çalışma sayfasını güncellemek için Yenile işlevini çağırın
worksheet->GetIAutoFilter()->Refresh();

// Excel dosyasını kaydedin
workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));

C++ kullanarak Excel Dosyalarında Özel Otomatik Filtre Uygulama

Özel bir Otomatik Filtre uygulamak istemeniz durumunda, Aspose.Cells for C++ API size yardımcı olur. API’yi kullanarak, özel gereksinimlerinize göre Excel dosyalarında özel bir Otomatik Filtre uygulayabilirsiniz. Aşağıdakiler, Excel dosyalarına özel Otomatik Filtre ekleme adımlarıdır.

Aşağıdaki örnek kod, C++ kullanılarak Excel dosyalarına nasıl özel Otomatik Filtre ekleneceğini gösterir.

// Kaynak dizin yolu.
StringPtr srcDir = new String("SourceDirectory\\");

// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");

// Kaynak Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx")));

// Excel dosyasındaki ilk çalışma sayfasına erişin
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Filtreyi uygulamak için Özel işlevi çağırın
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));

// Çalışma sayfasını güncellemek için Yenile işlevini çağırın
worksheet->GetIAutoFilter()->Refresh();

// Excel dosyasını kaydedin
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));

AutoFilter’ı Excel Dosyalarından Kaldırma

Önceki bölümlerde, Excel dosyalarına farklı Otomatik Filtrelerin nasıl ekleneceğini öğrendiniz. AutoFilters eklemeye ek olarak, bunları Aspose.Cells for C++ API kullanarak da kaldırabilirsiniz. Otomatik Filtreleri Excel dosyalarından kaldırma adımları aşağıdadır.

Aşağıdaki örnek kod, AutoFilter’ın C++ kullanarak bir Excel dosyasından nasıl kaldırılacağını gösterir.

// Kaynak dizin yolu.
StringPtr srcDir = new String("SourceDirectory\\");

// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");

// Kaynak Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx")));

// Excel dosyasındaki ilk çalışma sayfasına erişin
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Otomatik Filtreleri Kaldır
worksheet->RemoveAutoFilter();

// Excel dosyasını kaydedin
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));

Ücretsiz Lisans Alın

Ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmaksızın deneyebilirsiniz.

Çözüm

Bu makalede, C++ kullanarak Excel dosyalarına Otomatik Filtre eklemeyi ve kaldırmayı öğrendiniz. Özellikle, Varsayılan, Tarih, Dinamik Tarih ve Özel Otomatik Filtrelerin nasıl ekleneceğini öğrendiniz. Aspose.Cells for C++ API kullanarak AutoFilter’ın nasıl kaldırılacağını da gördünüz. API, Excel dosyalarıyla çalışmak için birçok ek özellik sağlar. Resmi belgeleri ziyaret ederek API’yi ayrıntılı olarak inceleyebilirsiniz. Herhangi bir sorunuz olursa lütfen ücretsiz destek forumumuzda bize ulaşmaktan çekinmeyin.

Ayrıca bakınız