סינון מידע בגיליונות אלקטרוניים של Excel הוא תכונה חשובה. זה מאפשר לך להסתיר נתונים לא רלוונטיים ולהציג רק את הנתונים העומדים בקריטריונים ספציפיים. יתכנו תרחישים שבהם סינון נתונים יכול להיות מועיל. לדוגמה, ייתכן שארגון ירצה לסנן מוצרים בעלי ביצועים נמוכים מדוח המכירות כדי לנתח ולשפר את אסטרטגיות המכירה שלו. במאמר זה, תלמד כיצד להוסיף או להסיר סינון אוטומטי בקבצי Excel באמצעות C++.
- C++ API להוספה והסרה של סינון אוטומטי בקבצי Excel
- החל סינון אוטומטי בקבצי Excel באמצעות C++
- הוסף סינון אוטומטי של תאריך בקבצי Excel באמצעות C++
- הוסף סינון אוטומטי של תאריך דינמי בקובץ Excel באמצעות C++
- החל סינון אוטומטי מותאם אישית בקבצי Excel באמצעות C++
- הסר מסנן אוטומטי מקבצי Excel
C++ API להוספה והסרה של סינון אוטומטי בקבצי Excel
נשתמש ב-Aspose.Cells for C++ API להוספה והסרה של AutoFilter בקבצי Excel. זוהי ספריית C++ מקורית המאפשרת לך ליצור, לקרוא ולשנות קבצי Excel מבלי לדרוש התקנה של Microsoft Excel. אתה יכול להתקין את ה-API דרך NuGet או להוריד אותו ישירות מהקטע הורדות.
PM> Install-Package Aspose.Cells.Cpp
החל סינון אוטומטי בקבצי Excel באמצעות C++
אתה יכול להחיל סינון אוטומטי על מגוון תאים. מסננים אוטומטיים מאפשרים לך למיין ולסנן ערכים בטווח התאים הנתון. להלן השלבים להוספת סינון אוטומטי בקבצי Excel.
- ראשית, טען את קובץ ה-Excel באמצעות המחלקה IWorkbook.
- אחזר את גליון העבודה שבו ברצונך להחיל את המסנן האוטומטי באמצעות השיטה IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- החל את המסנן האוטומטי באמצעות IWorksheet->GetIAutoFilter()->SetRange(intrusiveptrAspose::Cells::Systems::String value) שיטה.
- לבסוף, שמור את קובץ ה-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("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")));

התמונה של קובץ הפלט שנוצר על ידי הקוד לדוגמה
הוסף סינון אוטומטי של תאריך בקבצי 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:Inpose:System2s,Aspose::Cells:Aspose:System2s ::Cells::Systems::Int32 month, Aspose::Cells::Systems::Int32 day, Aspose::Cells::Systems::Int32 hour, Aspose::Cells::Systems::Int32 minute, Aspose:: Cells::Systems::Int32 second) שיטה.
- כדי לעדכן את גליון העבודה, השתמש בשיטה 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")));
// גש לגליון העבודה הראשון בקובץ האקסל
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")));
הוסף סינון אוטומטי של תאריך דינמי בקובץ 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")));
// גש לגליון העבודה הראשון בקובץ האקסל
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")));
החל סינון אוטומטי מותאם אישית בקבצי 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 operatorType1, 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")));
// גש לגליון העבודה הראשון בקובץ האקסל
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// התקשר לפונקציה מותאמת אישית כדי להחיל את המסנן
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));
// התקשר לפונקציה Refresh כדי לעדכן את גליון העבודה
worksheet->GetIAutoFilter()->Refresh();
// שמור את קובץ האקסל
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));
הסר מסנן אוטומטי מקבצי Excel
בסעיפים הקודמים, למדת כיצד להוסיף מסננים אוטומטיים שונים בקבצי Excel. בנוסף להוספת מסננים אוטומטיים, אתה יכול גם להסיר אותם באמצעות ה-API של Aspose.Cells for C++. להלן השלבים להסרת מסננים אוטומטיים מקובצי 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")));
// גש לגליון העבודה הראשון בקובץ האקסל
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// הסר מסננים אוטומטיים
worksheet->RemoveAutoFilter();
// שמור את קובץ האקסל
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));
קבל רישיון חינם
אתה יכול לנסות את ה-API ללא מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].27
סיכום
במאמר זה, למדת כיצד להוסיף ולהסיר מסננים אוטומטיים מקובצי Excel באמצעות C++. באופן ספציפי, למדת כיצד להוסיף ברירת מחדל, תאריך, תאריך דינמי ומסננים אוטומטיים מותאמים אישית. ראית גם כיצד להסיר סינון אוטומטי באמצעות Aspose.Cells עבור C++ API. ה-API מספק תכונות נוספות רבות לעבודה עם קבצי Excel. אתה יכול לחקור את ה-API בפירוט על ידי ביקור בתיעוד הרשמי. בכל שאלה, אנא אל תהסס לפנות אלינו בפורום התמיכה החינמי שלנו.