تطبيق التصفية المتقدمة لMicrosoft Excel لعرض السجلات التي تلبي معايير معقدة باستخدام C++

سيناريوهات الاستخدام المحتملة

يسمح لك Microsoft Excel بتطبيق التصفية المتقدمة على بيانات ورقة العمل لعرض السجلات التي تلبي معايير معقدة. يمكنك تطبيق التصفية المتقدمة باستخدام أمر البيانات > متقدمة كما هو موضح في لقطة الشاشة هذه.

todo:image_alt_text

كما يسمح Aspose.Cells بتطبيق التصفية المتقدمة باستخدام طريقة GetAdvancedFilter(). تمامًا مثل Microsoft Excel، يقبل المعلمات التالية.

isFilter

يشير ما إذا كان يتم تصفية القائمة في المكان.

listRange

نطاق القائمة.

criteriaRange

نطاق المعيار.

copyTo

نطاق نسخ البيانات إليه.

uniqueRecordOnly

عرض أو نسخ الصفوف الفريدة فقط.

تطبيق مرشح Microsoft Excel المتقدم لعرض السجلات التي تلبي معايير معقدة

الكود النموذجي التالي يطبق التصفية المتقدمة على ملف Excel ملف Excel النموذجي ويولد ملف ملف إخراج Excel. تُظهر لقطة الشاشة كلا الملفين للمقارنة. كما ترى في لقطة الشاشة، تم تصفية البيانات داخل ملف الإخراج وفقًا لمعايير معقدة.

todo:image_alt_text

الكود المثالي

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C

    // Source directory path
    U16String sourceDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outputDir(u"..\\Data\\02_OutputDirectory\\");

    // Load your source workbook
    Workbook workbook(sourceDir + u"sampleAdvancedFilter.xlsx");

    // Access first worksheet
    Worksheet ws = workbook.GetWorksheets().Get(0);

    // Apply advanced filter on range A5:D19 and criteria range is A1:D2
    // Besides, we want to filter in place
    // And, we want all filtered records not just unique records
    ws.Advanced_Filter(true, u"A5:D19", u"A1:D2", u"", false);

    // Save the workbook in xlsx format
    workbook.Save(outputDir + u"outputAdvancedFilter.xlsx", SaveFormat::Xlsx);

    std::cout << "Advanced filter applied successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}