فیلتر کردن اطلاعات در صفحات گسترده اکسل یک ویژگی مهم است. این به شما امکان می دهد داده های نامربوط را پنهان کنید و فقط داده هایی را نشان دهید که معیارهای خاصی را دارند. ممکن است سناریوهایی وجود داشته باشد که فیلتر کردن داده ها می تواند مفید باشد. به عنوان مثال، یک سازمان ممکن است بخواهد محصولات با عملکرد پایین را از گزارش فروش فیلتر کند تا استراتژی های فروش خود را تجزیه و تحلیل و بهبود بخشد. در این مقاله با نحوه افزودن یا حذف AutoFilter در فایل های اکسل با استفاده از C++ آشنا می شوید.

C++ API برای افزودن و حذف فیلتر خودکار در فایل‌های اکسل

ما از Aspose.Cells for C++ API برای افزودن و حذف AutoFilter در فایل‌های Excel استفاده خواهیم کرد. این یک کتابخانه بومی ++C است که به شما امکان می دهد بدون نیاز به نصب مایکروسافت اکسل، فایل های اکسل را ایجاد، بخوانید و اصلاح کنید. می‌توانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش Downloads دانلود کنید.

PM> Install-Package Aspose.Cells.Cpp

فیلتر خودکار را در فایل های اکسل با استفاده از C++ اعمال کنید

شما می توانید AutoFilter را در محدوده ای از سلول ها اعمال کنید. فیلترهای خودکار به شما امکان می دهند مقادیر را در محدوده داده شده از سلول ها مرتب و فیلتر کنید. مراحل زیر برای افزودن AutoFilter در فایل های اکسل آمده است.

کد نمونه زیر نحوه اعمال AutoFilter را در محدوده ای از سلول های یک فایل اکسل با استفاده از C++ نشان می دهد.

// مسیر دایرکتوری منبع.
StringPtr srcDir = new String("SourceDirectory\\");

// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");

// فایل اکسل منبع را بارگیری کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx")));

// به اولین کاربرگ در فایل اکسل دسترسی پیدا کنید
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// ایجاد فیلتر خودکار با دادن محدوده سلولی
worksheet->GetIAutoFilter()->SetRange(new String("A1:B1"));

// فایل اکسل را ذخیره کنید
workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
تصویر فایل خروجی تولید شده توسط کد نمونه

تصویر فایل خروجی تولید شده توسط کد نمونه

فیلتر خودکار تاریخ را در فایل های اکسل با استفاده از C++ اضافه کنید

فایل های اکسل ممکن است حاوی داده هایی بر اساس تاریخ باشند. ممکن است در سناریوهایی قرار بگیرید که باید داده ها را بر اساس تاریخ های مختلف فیلتر و تجزیه و تحلیل کنید. بنابراین، فیلتر تاریخ در چنین سناریوهایی مفید خواهد بود. مراحل زیر برای افزودن AutoFilter تاریخ در فایل‌های اکسل آمده است.

کد نمونه زیر نحوه افزودن AutoFilter تاریخ را در فایل های اکسل با استفاده از C++ نشان می دهد.

// مسیر دایرکتوری منبع.
StringPtr srcDir = new String("SourceDirectory\\");

// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");

// فایل اکسل منبع را بارگیری کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// به اولین کاربرگ در فایل اکسل دسترسی پیدا کنید
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// برای اعمال فیلتر، تابع AddDateFilter را فراخوانی کنید
worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0);

// برای به روز رسانی کاربرگ، تابع Refresh را فراخوانی کنید
worksheet->GetIAutoFilter()->Refresh();

// فایل اکسل را ذخیره کنید
workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));

با استفاده از C++، فیلتر خودکار تاریخ دینامیک را در یک فایل اکسل اضافه کنید

ممکن است مواردی وجود داشته باشد که به فیلتر تاریخ عمومی تری نیاز داشته باشید، مانند ماه صرف نظر از سال یا ماه قبل از ماه جاری. برای سناریوهایی مانند این، می‌توانید از فیلتر خودکار پویا برای فیلتر کردن داده‌ها استفاده کنید. مراحل زیر برای فیلتر کردن داده ها با استفاده از فیلتر خودکار تاریخ پویا است.

کد نمونه زیر نحوه افزودن یک AutoFilter تاریخ پویا را در یک فایل اکسل با استفاده از C++ نشان می دهد.

// مسیر دایرکتوری منبع.
StringPtr srcDir = new String("SourceDirectory\\");

// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");

// فایل اکسل منبع را بارگیری کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// به اولین کاربرگ در فایل اکسل دسترسی پیدا کنید
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// برای اعمال فیلتر، تابع DynamicFilter را فراخوانی کنید
worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray);

// برای به روز رسانی کاربرگ، تابع Refresh را فراخوانی کنید
worksheet->GetIAutoFilter()->Refresh();

// فایل اکسل را ذخیره کنید
workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));

با استفاده از C++ از فیلتر خودکار سفارشی در فایل های اکسل استفاده کنید

اگر می‌خواهید یک AutoFilter سفارشی اعمال کنید، Aspose.Cells برای C++ API شما را پوشش می‌دهد. با استفاده از API، می توانید یک AutoFilter سفارشی را در فایل های اکسل بر اساس نیازهای خاص خود اعمال کنید. مراحل زیر برای افزودن AutoFilter سفارشی در فایل‌های Excel آمده است.

کد نمونه زیر نحوه افزودن AutoFilter سفارشی در فایل های اکسل با استفاده از C++ را نشان می دهد.

// مسیر دایرکتوری منبع.
StringPtr srcDir = new String("SourceDirectory\\");

// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");

// فایل اکسل منبع را بارگیری کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx")));

// به اولین کاربرگ در فایل اکسل دسترسی پیدا کنید
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// برای اعمال فیلتر، تابع Custom را فراخوانی کنید
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));

// برای به روز رسانی کاربرگ، تابع Refresh را فراخوانی کنید
worksheet->GetIAutoFilter()->Refresh();

// فایل اکسل را ذخیره کنید
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));

فیلتر خودکار را از فایل های اکسل حذف کنید

در قسمت های قبلی، نحوه افزودن AutoFilters مختلف در فایل های اکسل را یاد گرفتید. علاوه بر افزودن فیلترهای خودکار، می‌توانید آنها را با استفاده از Aspose.Cells for C++ API حذف کنید. مراحل زیر برای حذف AutoFilters از فایل‌های Excel آمده است.

کد نمونه زیر نحوه حذف AutoFilter را از یک فایل اکسل با استفاده از C++ نشان می دهد.

// مسیر دایرکتوری منبع.
StringPtr srcDir = new String("SourceDirectory\\");

// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");

// فایل اکسل منبع را بارگیری کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx")));

// به اولین کاربرگ در فایل اکسل دسترسی پیدا کنید
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// فیلترهای خودکار را حذف کنید
worksheet->RemoveAutoFilter();

// فایل اکسل را ذخیره کنید
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));

مجوز رایگان دریافت کنید

با درخواست [مجوز موقت رایگان] می‌توانید API را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله نحوه افزودن و حذف AutoFilters از فایل های اکسل با استفاده از C++ را یاد گرفتید. به طور خاص، شما یاد گرفته‌اید که چگونه پیش‌فرض، تاریخ، تاریخ پویا و فیلترهای خودکار سفارشی را اضافه کنید. همچنین نحوه حذف AutoFilter را با استفاده از Aspose.Cells برای C++ API مشاهده کرده اید. API بسیاری از ویژگی های اضافی را برای کار با فایل های اکسل فراهم می کند. با مراجعه به مستندات رسمی می‌توانید API را با جزئیات بررسی کنید. در صورت داشتن هرگونه سوال، لطفاً در [تالار گفتمان پشتیبانی رایگان29 ما با ما تماس بگیرید.

همچنین ببینید