تعد تصفية المعلومات في جداول بيانات Excel ميزة مهمة. يمكّنك من إخفاء البيانات غير ذات الصلة وإظهار البيانات التي تلبي معايير محددة فقط. قد تكون هناك سيناريوهات يمكن أن تكون فيها تصفية البيانات مفيدة. على سبيل المثال ، قد ترغب إحدى المؤسسات في تصفية المنتجات منخفضة الأداء من تقرير المبيعات لتحليل استراتيجيات مبيعاتها وتحسينها. في هذه المقالة ، ستتعلم كيفية إضافة أو إزالة التصفية التلقائية في ملفات Excel باستخدام C ++.

C ++ API لإضافة وإزالة التصفية التلقائية في ملفات Excel

سنستخدم Aspose.Cells for C ++ API لإضافة وإزالة التصفية التلقائية في ملفات Excel. إنها مكتبة C ++ أصلية تتيح لك إنشاء ملفات Excel وقراءتها وتعديلها دون الحاجة إلى تثبيت Microsoft Excel. يمكنك إما تثبيت API من خلال NuGet أو تنزيلها مباشرة من قسم التنزيلات.

PM> Install-Package Aspose.Cells.Cpp

قم بتطبيق AutoFilter في ملفات Excel باستخدام C ++

يمكنك تطبيق التصفية التلقائية على نطاق من الخلايا. تسمح لك عوامل التصفية التلقائية بفرز القيم وتصفيتها في نطاق معين من الخلايا. فيما يلي خطوات إضافة التصفية التلقائية في ملفات Excel.

يوضح نموذج التعليمات البرمجية التالي كيفية تطبيق التصفية التلقائية على نطاق من الخلايا في ملف Excel باستخدام C ++.

// مسار الدليل المصدر.
StringPtr srcDir = new String("SourceDirectory\\");

// مسار دليل الإخراج.
StringPtr outDir = new String("OutputDirectory\\");

// قم بتحميل ملف Excel المصدر
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx")));

// قم بالوصول إلى ورقة العمل الأولى في ملف Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// إنشاء تصفية تلقائية بإعطاء نطاق الخلايا
worksheet->GetIAutoFilter()->SetRange(new String("A1:B1"));

// احفظ ملف Excel
workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
صورة ملف الإخراج التي تم إنشاؤها بواسطة نموذج التعليمات البرمجية

صورة ملف الإخراج التي تم إنشاؤها بواسطة نموذج التعليمات البرمجية

إضافة التصفية التلقائية للتاريخ في ملفات Excel باستخدام C ++

قد تحتوي ملفات Excel على بيانات تستند إلى التواريخ. قد تجد نفسك في سيناريوهات تحتاج فيها إلى تصفية البيانات وتحليلها بناءً على تواريخ مختلفة. لذلك ، سيثبت عامل تصفية التاريخ أنه مفيد في مثل هذه السيناريوهات. فيما يلي خطوات إضافة التصفية التلقائية للتاريخ في ملفات Excel.

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة التصفية التلقائية للتاريخ في ملفات Excel باستخدام C ++.

// مسار الدليل المصدر.
StringPtr srcDir = new String("SourceDirectory\\");

// مسار دليل الإخراج.
StringPtr outDir = new String("OutputDirectory\\");

// قم بتحميل ملف Excel المصدر
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// قم بالوصول إلى ورقة العمل الأولى في ملف Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// استدعاء وظيفة AddDateFilter لتطبيق عامل التصفية
worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0);

// اتصل بوظيفة التحديث لتحديث ورقة العمل
worksheet->GetIAutoFilter()->Refresh();

// احفظ ملف Excel
workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));

أضف تصفية تلقائية للتاريخ الديناميكي في ملف Excel باستخدام C ++

قد تكون هناك حالات تحتاج فيها إلى عامل تصفية تاريخ أكثر عمومية ، مثل الشهر بغض النظر عن السنة أو الشهر الذي يسبق الشهر الحالي. لسيناريوهات مثل هذه ، يمكنك استخدام التصفية التلقائية الديناميكية لتصفية البيانات. فيما يلي خطوات تصفية البيانات باستخدام التصفية التلقائية للتاريخ الديناميكي.

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة تاريخ ديناميكي تصفية تلقائية في ملف Excel باستخدام C ++.

// مسار الدليل المصدر.
StringPtr srcDir = new String("SourceDirectory\\");

// مسار دليل الإخراج.
StringPtr outDir = new String("OutputDirectory\\");

// قم بتحميل ملف Excel المصدر
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// قم بالوصول إلى ورقة العمل الأولى في ملف Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// استدعاء وظيفة DynamicFilter لتطبيق المرشح
worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray);

// اتصل بوظيفة التحديث لتحديث ورقة العمل
worksheet->GetIAutoFilter()->Refresh();

// احفظ ملف Excel
workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));

قم بتطبيق Custom AutoFilter في ملفات Excel باستخدام C ++

في حال كنت ترغب في تطبيق تصفية تلقائية مخصصة ، فقد قمت بتغطية Aspose.Cells for C ++ API. باستخدام API ، يمكنك تطبيق تصفية تلقائية مخصصة في ملفات Excel بناءً على متطلباتك المحددة. فيما يلي خطوات إضافة تصفية تلقائية مخصصة في ملفات Excel.

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة تصفية تلقائية مخصصة في ملفات Excel باستخدام C ++.

// مسار الدليل المصدر.
StringPtr srcDir = new String("SourceDirectory\\");

// مسار دليل الإخراج.
StringPtr outDir = new String("OutputDirectory\\");

// قم بتحميل ملف Excel المصدر
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx")));

// قم بالوصول إلى ورقة العمل الأولى في ملف Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// استدعاء وظيفة مخصصة لتطبيق المرشح
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));

// اتصل بوظيفة التحديث لتحديث ورقة العمل
worksheet->GetIAutoFilter()->Refresh();

// احفظ ملف Excel
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));

قم بإزالة التصفية التلقائية من ملفات Excel

في الأقسام السابقة ، تعلمت كيفية إضافة عوامل تصفية تلقائية مختلفة في ملفات Excel. بالإضافة إلى إضافة عوامل التصفية التلقائية ، يمكنك أيضًا إزالتها باستخدام Aspose.Cells for C ++ API. فيما يلي خطوات إزالة عوامل التصفية التلقائية من ملفات Excel.

يوضح نموذج التعليمات البرمجية التالي كيفية إزالة التصفية التلقائية من ملف Excel باستخدام C ++.

// مسار الدليل المصدر.
StringPtr srcDir = new String("SourceDirectory\\");

// مسار دليل الإخراج.
StringPtr outDir = new String("OutputDirectory\\");

// قم بتحميل ملف Excel المصدر
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx")));

// قم بالوصول إلى ورقة العمل الأولى في ملف Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// إزالة عوامل التصفية التلقائية
worksheet->RemoveAutoFilter();

// احفظ ملف Excel
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));

احصل على رخصة مجانية

يمكنك تجربة واجهة برمجة التطبيقات بدون قيود تقييمية عن طريق طلب ترخيص مؤقت مجاني.

استنتاج

في هذه المقالة ، تعلمت كيفية إضافة عوامل التصفية التلقائية وإزالتها من ملفات Excel باستخدام C ++. على وجه التحديد ، لقد تعلمت كيفية إضافة الافتراضي والتاريخ والتاريخ الديناميكي والمرشحات التلقائية المخصصة. لقد رأيت أيضًا كيفية إزالة التصفية التلقائية باستخدام Aspose.Cells for C ++ API. يوفر API العديد من الميزات الإضافية للعمل مع ملفات Excel. يمكنك استكشاف API بالتفصيل من خلال زيارة الوثائق الرسمية. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا