فرمت‌های فایل XLSX و XLS اغلب برای دستکاری داده‌های بزرگ استفاده می‌شوند. به همین ترتیب، AutoFilters برای سازماندهی داده ها در فایل های اکسل استفاده می شود. با استفاده از C# یا VB.NET، می‌توانید به راحتی فیلتر خودکار را در فایل‌های اکسل با Aspose.Cells for .NET API اضافه یا حذف کنید. از فیلترها می توان برای تعیین کمیت برخی داده ها برای استخراج برخی اطلاعات معنی دار استفاده کرد. به عنوان مثال، یک سازمان می خواهد ماه های با فروش کم را فیلتر کند تا استراتژی های خود را طراحی و بهبود بخشد. در این مقاله فیلترینگ داده ها با استفاده از فیلترهای خودکار در سی شارپ را بررسی می کنیم:

C# VB .NET افزودن یا حذف فیلتر خودکار در فایل های اکسل - نصب API

Aspose.Cells for .NET API به شما امکان می دهد با صفحات گسترده اکسل کار کنید. می توانید XLS، XLSX و سایر فرمت های پشتیبانی شده را به صورت برنامه نویسی با حداقل کد ایجاد، ویرایش یا دستکاری کنید. می توانید بسته MSI یا ZIP را از بخش دانلودها دانلود و نصب کنید، یا به سادگی آن را از طریق گالری NuGet در راه حل خود نصب کنید. به عنوان مثال، با استفاده از دستور زیر می توانید آن را به راحتی در محیط خود نصب کنید:

Install-Package Aspose.Cells -Version 20.9.0

پس از نصب موفقیت آمیز API، اجازه دهید برخی از موارد کاربردی مهم و مفید را ادامه دهیم.

اعمال فیلتر خودکار روی سلول ها در فایل های اکسل با استفاده از سی شارپ

می‌توانید AutoFilter را روی محدوده خاصی از سلول‌های فایل‌های اکسل اعمال کنید. این به شما امکان می دهد مقادیر را به ترتیب صعودی یا نزولی و همچنین فیلترهای اعداد دیگر را زمانی که سلول ها حاوی مقادیر عددی هستند مرتب کنید. برای اعمال AutoFilter در فایل های اکسل با استفاده از C# باید مراحل زیر را دنبال کنید:

  1. یک فایل اکسل را باز کنید و به Worksheet دسترسی پیدا کنید.
  2. AutoFilter را با تعیین محدوده سلولی خاص ایجاد کنید
  3. فایل خروجی XLS/XLSX را ذخیره کنید

قطعه کد نحوه اعمال فیلتر خودکار روی سلول های فایل اکسل با استفاده از سی شارپ را نشان می دهد:

// نمونه سازی یک شی Workbook
// باز کردن فایل اکسل از طریق جریان فایل
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(dataDir + "book1.xls");

// دسترسی به اولین کاربرگ در فایل اکسل
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

// ایجاد فیلتر خودکار با دادن محدوده سلول های ردیف عنوان
worksheet.AutoFilter.Range = "A1:B1";

// ذخیره فایل اکسل اصلاح شده
workbook.Save(dataDir + "output.xlsx");

می توانید در تصویر زیر متوجه فیلتر خودکار اضافه شده در فایل منبع XLSX شوید:

AutoFilter-Excel-Csharp

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

داده های موجود در فایل های اکسل اغلب حاوی اطلاعات مربوط به تاریخ هستند. گاهی اوقات ممکن است لازم باشد اطلاعاتی را بر اساس دوره‌های زمانی مختلف که می‌توان با تاریخ‌ها شناسایی کرد، کاوش کنید. به عنوان مثال، اجازه دهید موردی را در نظر بگیریم که در آن باید داده های مربوط به ژانویه 2018 را فیلتر کنیم، سپس باید مراحل زیر را دنبال کنید:

  1. صفحه‌گسترده ورودی را بارگیری کنید
  2. دسترسی به کاربرگ
  3. فیلتر تاریخ را اضافه کنید و فایل خروجی را ذخیره کنید

نمونه کد زیر این مراحل را دنبال می کند و نحوه افزودن فیلتر خودکار تاریخ را در فایل های اکسل با استفاده از C# نشان می دهد:

// نمونه سازی یک شی Workbook
// باز کردن فایل اکسل از طریق جریان فایل
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// دسترسی به اولین کاربرگ در فایل اکسل
Worksheet worksheet = workbook.Worksheets[0];

// برای اعمال فیلتر، تابع AddDateFilter را فراخوانی کنید
worksheet.AutoFilter.AddDateFilter(0, DateTimeGroupingType.Month, 2018, 1, 0, 0, 0, 0);

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

// ذخیره فایل اکسل اصلاح شده
workbook.Save(dataDir + "FilteredDate.xlsx");

افزودن فیلتر خودکار تاریخ پویا در XLSX با استفاده از C#

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

  1. فایل ورودی XLSX را بارگیری کنید
  2. دسترسی به کاربرگ
  3. DynamicFilter را برای ماه ژانویه تنظیم کنید
  4. ذخیره برگه اکسل خروجی

این مثال در ادامه مثال بالا است، جایی که قطعه کد زیر نحوه اضافه کردن یک AutoFilter تاریخ پویا را در یک فایل اکسل به صورت برنامه‌نویسی در C# نشان می‌دهد:

// نمونه سازی یک شی Workbook
// باز کردن فایل اکسل از طریق جریان فایل
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// دسترسی به اولین کاربرگ در فایل اکسل
Worksheet worksheet = workbook.Worksheets[0];

// برای اعمال فیلتر، تابع DynamicFilter را فراخوانی کنید
worksheet.AutoFilter.DynamicFilter(0, DynamicFilterType.January);

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

// ذخیره فایل اکسل اصلاح شده
workbook.Save(dataDir + "FilteredDynamicDate.xlsx");

اعمال فیلتر خودکار شماره سفارشی در XLSX با C#

با استفاده از Aspose.Cells برای NET API می‌توانید داده‌ها را بر اساس محدوده سفارشی اعداد فیلتر کنید. به عنوان مثال، زمانی که یک شرکت باید به تعداد کارکنانش دسترسی پیدا کند که به اهداف فروش دست یافته اند. به همین ترتیب، ممکن است امکانات زیادی وجود داشته باشد که این تکنیک فیلتر کردن می تواند کمک کند. اجازه دهید حالتی را فرض کنیم که در آن باید همه داده‌ها را فیلتر کنیم که در آن اعداد در محدوده 5 و 10 قرار دارند، سپس باید مراحل زیر را دنبال کنید:

  1. یک شی Workbook را نمونه‌سازی کنید و فایل ورودی را بارگیری کنید
  2. فیلتر اعداد سفارشی را در یک کاربرگ خاص اضافه کنید
  3. فایل خروجی اکسل را ذخیره کنید

بر اساس این مراحل، کد زیر نحوه افزودن شماره سفارشی AutoFilter را با استفاده از C# نشان می دهد:

// نمونه سازی یک شی Workbook
// باز کردن فایل اکسل از طریق جریان فایل
Workbook workbook = new Workbook(dataDir + "Number.xlsx");

// دسترسی به اولین کاربرگ در فایل اکسل
Worksheet worksheet = workbook.Worksheets[0];

// برای اعمال فیلتر، تابع Custom را فراخوانی کنید
worksheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, 5, true, FilterOperatorType.LessOrEqual, 10);

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

// ذخیره فایل اکسل اصلاح شده
workbook.Save(dataDir + "FilteredNumber.xlsx");

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

با حرکت یک گام دیگر از AutoFilter شماره سفارشی، اجازه دهید یاد بگیریم چگونه فیلتر خودکار سفارشی را اضافه کنیم که می تواند برای ردیابی متن خاص با استفاده از Contains Filter Operator استفاده شود. جستجوی کلماتی که در آن متن به طور جزئی یا کامل در داده ها وجود دارد می تواند مفید باشد. برای دستیابی به این الزامات باید مراحل زیر را دنبال کنید:

  1. فایل اکسل ورودی را با داده بارگیری کنید
  2. محدوده AutoFilter و FilterOperatorType را مشخص کنید.
  3. فایل خروجی XLSX را ذخیره کنید

قطعه کد زیر نحوه افزودن فیلتر خودکار سفارشی با Contains را با استفاده از C# نشان می دهد:

// نمونه سازی یک شی Workbook حاوی داده های نمونه
Workbook workbook = new Workbook(dataDir + "sourseSampleCountryNames.xlsx");

// دسترسی به اولین کاربرگ در فایل اکسل
Worksheet worksheet = workbook.Worksheets[0];

// ایجاد فیلتر خودکار با دادن محدوده سلول ها
worksheet.AutoFilter.Range = "A1:A18";

// راه اندازی فیلتر برای ردیف های حاوی رشته "Ba"
worksheet.AutoFilter.Custom(0, FilterOperatorType.Contains, "Ba");

//فیلتر را برای نمایش/پنهان کردن ردیف های فیلتر شده بازخوانی کنید
worksheet.AutoFilter.Refresh();

// ذخیره فایل اکسل اصلاح شده
workbook.Save(dataDir + "outSourseSampleCountryNames.xlsx");

حذف یا حذف فیلتر خودکار در اکسل با استفاده از سی شارپ

همانطور که سناریوهای مختلف اضافه کردن فیلترهای خودکار در فایل‌های اکسل با استفاده از سی شارپ را آموخته‌ایم، اجازه دهید برعکس را بررسی کنیم. استفاده از حذف یا حذف فیلترهای خودکار از اکسل به همان اندازه مهم و محوری است. برای حذف تمام فیلترهای خودکار از یک فایل XLSX باید مراحل زیر را دنبال کنید:

  1. فایل ورودی XLSX را بارگیری کنید
  2. در هر کاربرگ تکرار کنید و AutoFilters را حذف کنید.
  3. ذخیره فایل خروجی

قطعه کد زیر نحوه حذف AutoFilters از فایل های Excel با استفاده از C# را نشان می دهد:

// نمونه سازی یک شی Workbook
// باز کردن فایل اکسل
Workbook workbook = new Workbook(dataDir + "output.xlsx");
// در هر کاربرگ تکرار کنید
foreach (var sheet in workbook.Worksheets)
{
    // فیلترهای خودکار را حذف کنید
    sheet.RemoveAutoFilter();
}
// کتاب کار را ذخیره کنید
workbook.Save(dataDir + "AutoFilter_Removed.xlsx", SaveFormat.Xlsx);

نتیجه

Aspose.Cells for .NET API ویژگی های متفاوتی را به شما ارائه می دهد. افزودن، حذف یا حذف یک فیلتر خودکار با استفاده از C# در NET Framework ساده و آسان است. ما چندین احتمال را به تفصیل مورد بحث قرار داده ایم. در صورت داشتن هر گونه تردید یا نگرانی، لطفاً با ما در [تالار گفتمان پشتیبانی رایگان11 تماس بگیرید.

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