מיזוג וביטול מיזוג תאים הוא תכונה פשוטה ונפוצה של Microsoft Excel. מיזוג תאים עשוי להיות מועיל בתרחישים, לדוגמה, כאשר יש לך גליון עבודה עם מספר עמודות שחולקות את אותה כותרת. אתה יכול למזג את התאים מעל העמודות כדי לתת להם כותרת משותפת. במקרה שלא נדרשים עוד תאים ממוזגים, תוכל לבטל את מיזוגם באותה קלות. ייתכן שתצטרך לבצע משימות אלה בתוך יישומי C++ שלך. לשם כך, מאמר זה ילמד אותך כיצד למזג ולבטל מיזוג תאים בגיליונות עבודה של Excel באופן תכנותי באמצעות C++.
- C++ API למיזוג וביטול מיזוג תאים
- מיזוג תאים בגיליון עבודה של Excel באמצעות C++
- בטל מיזוג תאים בגיליון עבודה של Excel באמצעות C++
- מיזוג טווח תאים בגיליון עבודה של Excel באמצעות C++
- בטל מיזוג של טווח תאים בגיליון עבודה של Excel באמצעות C++
- מיזוג תאים של טווח בעל שם בגיליון עבודה של Excel באמצעות C++
C++ API למיזוג וביטול מיזוג תאים
Aspose.Cells for C++ היא ספריית C++ מקורית המאפשרת לך ליצור, לקרוא ולשנות קבצי Excel מבלי לדרוש התקנה של Microsoft Excel. ה-API תומך גם במיזוג וביטול מיזוג של תאים בגיליון עבודה של Excel. אתה יכול להתקין את ה-API דרך NuGet או להוריד אותו ישירות מהקטע הורדות.
PM> Install-Package Aspose.Cells.Cpp
מיזוג תאים בגיליון עבודה של Excel באמצעות C++
בדוגמה זו, ניצור גליון עבודה ריק של Excel ונמזג כמה תאים על ידי ביצוע השלבים המפורטים להלן.
- ראשית, צור מופע של המחלקה IWorkbook.
- אחזר את גליון העבודה באמצעות השיטה IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- אחזר את התאים באמצעות השיטה IWorksheet->GetICells().
- מיזוג התאים באמצעות ICells->Merge(Aspose::Cells::Systems::Int32 firstRow, Aspose::Cells::Systems::Int32 firstColumn, Aspose::Cells::Systems::Int32 totalRows, Aspose:: שיטת Cells::Systems::Int32 totalColumns).
- החל סגנונות על התאים הממוזגים.
- לבסוף, שמור את קובץ הפלט של Excel באמצעות IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) שיטה.
הקוד לדוגמה הבא מראה כיצד למזג תאים בגיליון עבודה של Excel באמצעות C++.
// נתיב ספריית פלט.
StringPtr outDir = new String("OutputDirectory\\");
// טען את קובץ הקלט של Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// גש לגליון העבודה הראשון בקובץ האקסל
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// צור אובייקט Cells או אחזר את כל התאים.
intrusive_ptr<ICells> cells = worksheet->GetICells();
// מיזוג תאים
cells->Merge(5, 2, 2, 3);
// הכניסו נתונים לתא
cells->GetObjectByIndex(5, 2)->PutValue((StringPtr)new String("This is a test value"));
// צור אובייקט בסגנון
intrusive_ptr<IStyle> style = cells->GetICell(5, 2)->GetIStyle();
// צור אובייקט גופן
intrusive_ptr<Aspose::Cells::IFont> font = style->GetIFont();
// הגדר את השם
font->SetName(new String("Times New Roman"));
// הגדר את גודל הגופן
font->SetSize(18);
// הגדר את צבע הגופן
font->SetColor(Systems::Drawing::Color::GetCyan());
// הפוך את הטקסט למודגש
font->SetBold(true);
// הפוך את הטקסט לנטוי
font->SetItalic(true);
// הגדר את צבע החזית
style->SetForegroundColor(Systems::Drawing::Color::GetRed());
// הגדר את התבנית
style->SetPattern(BackgroundType_Solid);
// החל את הסגנון
cells->GetICell(5, 2)->SetIStyle(style);
// שמור את קובץ האקסל
workbook->Save(outDir->StringAppend(new String("MergeCells_out.xlsx")));
בטל מיזוג תאים בגיליון עבודה של Excel באמצעות C++
להלן השלבים לביטול מיזוג תאים בגליון עבודה של Excel.
- טען את קובץ ה-Excel באמצעות המחלקה IWorkbook.
- אחזר את גליון העבודה המכיל תאים ממוזגים באמצעות השיטה IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- אחזר את התאים באמצעות השיטה IWorksheet->GetICells().
- בטל מיזוג תאים באמצעות ICells->UnMerge(Aspose::Cells::Systems::Int32 firstRow, Aspose::Cells::Systems::Int32 firstColumn, Aspose::Cells::Systems::Int32 totalRows, Aspose::Cells ::Systems::Int32 totalColumns) שיטת.
- לבסוף, שמור את קובץ הפלט של 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("SampleMergedCells.xlsx")));
// גש לגליון העבודה הראשון בקובץ האקסל
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// צור אובייקט Cells או אחזר את כל התאים.
intrusive_ptr<ICells> cells = worksheet->GetICells();
// בטל מיזוג תאים.
cells->UnMerge(5, 2, 2, 3);
// שמור את קובץ האקסל
workbook->Save(outDir->StringAppend(new String("UnmergeCells_out.xlsx")));
מיזוג טווח תאים בגיליון עבודה של Excel באמצעות C++
להלן השלבים למיזוג טווח של תאים בגיליון עבודה של Excel.
- ראשית, צור מופע של המחלקה IWorkbook.
- אחזר את גליון העבודה הרצוי באמצעות השיטה IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- הכנס נתונים לתא.
- צור את הטווח באמצעות ה-[IWorksheet->GetICells()->CreateIRange(intrusiveptrAspose::Cells::Systems::String כתובת) שיטת 16.
- מיזוג הטווח באמצעות שיטת IRange->Merge().
- לבסוף, שמור את קובץ הפלט של Excel באמצעות IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) שיטה.
הקוד לדוגמה הבא מראה כיצד למזג טווח של תאים בגיליון עבודה של Excel באמצעות C++.
// נתיב ספריית פלט.
StringPtr outDir = new String("OutputDirectory\\");
// טען את קובץ הקלט של Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// גש לגליון העבודה הראשון בקובץ האקסל
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// הזן נתונים לתא A1.
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("This is a test value"));
// צור טווח
intrusive_ptr<IRange> range = worksheet->GetICells()->CreateIRange(new String("A1:D4"));
// מיזוג טווח לתא בודד
range->Merge();
// שמור את קובץ האקסל
workbook->Save(outDir->StringAppend(new String("MergeRangeOfCells_out.xlsx")));
בטל מיזוג של טווח תאים בגיליון עבודה של Excel באמצעות C++
להלן השלבים לביטול מיזוג טווח של תאים בגליון עבודה של Excel.
- טען את קובץ ה-Excel באמצעות המחלקה IWorkbook.
- אחזר את גליון העבודה המכיל תאים ממוזגים באמצעות השיטה IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- צור את הטווח באמצעות ה-[IWorksheet->GetICells()->CreateIRange(intrusiveptrAspose::Cells::Systems::String כתובת)]שיטה 21.
- בטל את מיזוג הטווח באמצעות השיטה IRange->UnMerge().
- לבסוף, שמור את קובץ הפלט של 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("SampleMergedRangeOfCells.xlsx")));
// גש לגליון העבודה הראשון בקובץ האקסל
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// צור טווח
intrusive_ptr<IRange> range = worksheet->GetICells()->CreateIRange(new String("A1:D4"));
// בטל מיזוג טווח
range->UnMerge();
// שמור את קובץ האקסל
workbook->Save(outDir->StringAppend(new String("UnmergeRangeOfCells_out.xlsx")));
מיזוג תאים של טווח בעל שם בגיליון עבודה של Excel באמצעות C++
Aspose.Cells עבור C++ מספק לך גם את היכולת למזג את התאים של טווח בעל שם. כדי להשיג זאת, אנא בצע את השלבים המפורטים להלן.
- טען את קובץ ה-Excel באמצעות המחלקה IWorkbook.
- אחזר את גליון העבודה באמצעות השיטה IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- צור את הטווח באמצעות ה-[IWorksheet->GetICells()->CreateIRange(intrusiveptrAspose::Cells::Systems::String כתובת)]שיטה 26.
- הגדר את שם הטווח באמצעות ה-[IRange->SetName(intrusiveptrAspose::Cells::Systems::String ערך)]שיטה 27.
- צור והחל סגנונות על הטווח בעל השם.
- מיזוג את התאים של הטווח הנקוב בשיטת IRange->Merge().
- לבסוף, שמור את קובץ הפלט של Excel באמצעות IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) שיטה.
הקוד לדוגמה הבא מדגים כיצד למזג את התאים של טווח בעל שם באמצעות C++.
// נתיב ספריית המקור.
StringPtr srcDir = new String("SourceDirectory\\");
// נתיב ספריית פלט.
StringPtr outDir = new String("OutputDirectory\\");
// טען את קובץ הקלט של Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleMergedRangeOfCells.xlsx")));
// גש לגליון העבודה הראשון בקובץ האקסל
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// צור טווח
intrusive_ptr<IRange> range = worksheet->GetICells()->CreateIRange(new String("A1:D4"));
// הגדר את שם הטווח
range->SetName(new String("Named_Range"));
// הגדר אובייקט בסגנון
intrusive_ptr<IStyle> style = workbook->CreateIStyle();
// הגדר יישור אופקי
style->SetHorizontalAlignment(TextAlignmentType::TextAlignmentType_Center);
// צור אובייקט StyleFlag
intrusive_ptr<IStyleFlag> styleFlag = Factory::CreateIStyleFlag();
// הגדר יישור אופקי to true
styleFlag->SetHorizontalAlignment(true);
// החל את הסגנון על הטווח
range->ApplyIStyle(style, styleFlag);
// שים נתונים בטווח
range->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("This is a test value"));
// מיזוג טווח
range->Merge();
// שמור את קובץ האקסל
workbook->Save(outDir->StringAppend(new String("MergeNamedRange_out.xlsx")));
קבל רישיון חינם
אתה יכול לנסות את ה-API ללא מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].30
סיכום
במאמר זה, למדת כיצד למזג ולבטל מיזוג תאים בגיליון עבודה של Excel באמצעות C++. יתר על כן, ראית כיצד למזג ולבטל מיזוג של טווחים וטווחים בעלי שם באמצעות Aspose.Cells עבור C++ API. ה-API מספק תכונות נוספות רבות לעבודה עם קובצי Excel שתוכלו לחקור בפירוט על ידי ביקור בתיעוד הרשמי. בכל שאלה, אנא אל תהסס לפנות אלינו בפורום התמיכה החינמי שלנו.