تعد تصفية المعلومات في جداول بيانات Excel ميزة مهمة. يمكّنك من إخفاء البيانات غير ذات الصلة وإظهار البيانات التي تلبي معايير محددة فقط. قد تكون هناك سيناريوهات يمكن أن تكون فيها تصفية البيانات مفيدة. على سبيل المثال ، قد ترغب إحدى المؤسسات في تصفية المنتجات منخفضة الأداء من تقرير المبيعات لتحليل استراتيجيات مبيعاتها وتحسينها. في هذه المقالة ، ستتعلم كيفية إضافة أو إزالة التصفية التلقائية في ملفات Excel باستخدام C ++.
- واجهة برمجة تطبيقات C ++ لإضافة وإزالة التصفية التلقائية في ملفات Excel
- قم بتطبيق AutoFilter في ملفات Excel باستخدام C ++
- إضافة التصفية التلقائية للتاريخ في ملفات Excel باستخدام C ++
- أضف تصفية تلقائية للتاريخ الديناميكي في ملف Excel باستخدام C ++
- قم بتطبيق Custom AutoFilter في ملفات Excel باستخدام C ++
- إزالة التصفية التلقائية من ملفات Excel
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 باستخدام فئة IWorkbook.
- استرجع ورقة العمل حيث تريد تطبيق التصفية التلقائية باستخدام طريقة IWorkbook-> GetIWorksheets() -> GetObjectByIndex (Aspose :: Cells :: Systems :: Int32 index).
- تطبيق التصفية التلقائية باستخدام IWorksheet-> GetIAutoFilter() -> SetRange (intrusiveptrAspose::Cells::Systems::String القيمة) الطريقة.
- أخيرًا ، احفظ ملف Excel باستخدام IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String اسم الملف) طريقة.
يوضح نموذج التعليمات البرمجية التالي كيفية تطبيق التصفية التلقائية على نطاق من الخلايا في ملف 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 باستخدام فئة IWorkbook.
- استرجع ورقة العمل حيث تريد تطبيق التصفية التلقائية باستخدام طريقة IWorkbook-> GetIWorksheets() -> GetObjectByIndex (Aspose :: Cells :: Systems :: Int32 index).
- تطبيق التصفية التلقائية للتاريخ باستخدام IWorksheet-> GetIAutoFilter() -> AddDateFilter (Aspose :: Cells :: Systems :: Int32 fieldIndex، Aspose :: Cells :: DateTimeGroupingType dateTimeGroupingType، Aspose :: Cells :: Systems :: Int32 year، Aspose :: الخلايا :: الأنظمة :: Int32 month ، Aspose :: Cells :: Systems :: Int32 day، Aspose :: Cells :: Systems :: Int32 hour، Aspose :: Cells :: Systems :: Int32 minutes، Aspose :: الخلايا :: الأنظمة :: Int32 ثانية) طريقة.
- لتحديث ورقة العمل ، استخدم طريقة IWorksheet-> GetIAutoFilter() -> Refresh().
- أخيرًا ، احفظ ملف Excel باستخدام IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String اسم الملف) طريقة.
يوضح نموذج التعليمات البرمجية التالي كيفية إضافة التصفية التلقائية للتاريخ في ملفات 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 باستخدام فئة IWorkbook.
- استرجع ورقة العمل حيث تريد تطبيق التصفية التلقائية باستخدام طريقة IWorkbook-> GetIWorksheets() -> GetObjectByIndex (Aspose :: Cells :: Systems :: Int32 index).
- قم بتطبيق DynamicFilter باستخدام IWorksheet-> GetIAutoFilter() -> DynamicFilter (Aspose :: Cells :: Systems :: Int32 fieldIndex و Aspose :: Cells :: DynamicFilterType dynamicFilterType).
- لتحديث ورقة العمل ، استخدم طريقة IWorksheet-> GetIAutoFilter() -> Refresh().
- أخيرًا ، احفظ ملف Excel باستخدام IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String fileName) طريقة.
يوضح نموذج التعليمات البرمجية التالي كيفية إضافة تاريخ ديناميكي تصفية تلقائية في ملف 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 باستخدام فئة IWorkbook.
- استرجع ورقة العمل حيث تريد تطبيق التصفية التلقائية باستخدام طريقة IWorkbook-> GetIWorksheets() -> GetObjectByIndex (Aspose :: Cells :: Systems :: Int32 index).
- قم بتطبيق التصفية التلقائية المخصصة باستخدام IWorksheet-> GetIAutoFilter() -> Custom (Aspose :: Cells :: Systems :: Int32 fieldIndex، Aspose :: Cells :: FilterOperatorType workerType1، intrusiveptrAspose::Cells::Systems::Object معايير 1) طريقة.
- اتصل بالطريقة IWorksheet-> GetIAutoFilter() -> Refresh() لتحديث ورقة العمل.
- أخيرًا ، احفظ ملف Excel باستخدام IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String fileName) طريقة.
يوضح نموذج التعليمات البرمجية التالي كيفية إضافة تصفية تلقائية مخصصة في ملفات 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 باستخدام فئة IWorkbook.
- استرجع ورقة العمل من المكان الذي تريد إزالة التصفية التلقائية باستخدام طريقة IWorkbook-> GetIWorksheets() -> GetObjectByIndex (Aspose :: Cells :: Systems :: Int32 index).
- قم بإزالة التصفية التلقائية باستخدام طريقة IWorksheet-> RemoveAutoFilter().
- أخيرًا ، احفظ ملف Excel باستخدام IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String fileName) طريقة.
يوضح نموذج التعليمات البرمجية التالي كيفية إزالة التصفية التلقائية من ملف 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 بالتفصيل من خلال زيارة الوثائق الرسمية. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.