מיזוג תאי טבלה

לפעמים שורות מסוימות בטבלה דורשות כותרת או גושי טקסט גדולים שתופסים את כל רוחב הטבלה. לעיצוב נכון של הטבלה, המשתמש יכול למזג מספר תאי טבלה לאחד. Aspose.Words תומך בתאים ממוזגים בעבודה עם כל פורמטי הקלט, כולל ייבוא HTML תוכן.

כיצד למזג תאי טבלה

ב Aspose.Words, תאים ממוזגים מיוצגים על ידי התכונות הבאות של הכיתה CellFormat:

  • HorizontalMerge המתאר אם התא הוא חלק ממיזוג אופקי של תאים
  • VerticalMerge המתאר אם התא הוא חלק ממיזוג אנכי של תאים

הערכים של מאפיינים אלה קובעים את התנהגות המיזוג של תאים:

בדוק אם התא ממוזג

כדי לבדוק אם תא הוא חלק מרצף של תאים ממוזגים, אנו פשוט בודקים את המאפיינים HorizontalMerge ו VerticalMerge.

דוגמת הקוד הבאה מראה כיצד להדפיס את סוג מיזוג התאים האופקי והאנכי:

תאים ממוזגים בטבלה

כדי למזג תאים בטבלה שנוצרה עם DocumentBuilder, עליך להגדיר את סוג המיזוג המתאים לכל תא שבו המיזוג צפוי - תחילה CellMerge.First ולאחר מכן CellMerge.Previous.

כמו כן, עליך לזכור לנקות את הגדרת המיזוג עבור אותם תאים שבהם אין צורך במיזוג – ניתן לעשות זאת על ידי הגדרת התא הראשון שאינו מיזוג ל-CellMerge.None. אם זה לא נעשה, כל התאים בטבלה ימוזגו.

דוגמת הקוד הבאה מראה כיצד ליצור טבלה עם שתי שורות שבהן התאים בשורה הראשונה ממוזגים אופקית:

דוגמת הקוד הבאה מראה כיצד ליצור טבלה בת שתי עמודות שבה התאים בעמודה הראשונה ממוזגים אנכית:

מיזוג תאי טבלה במקרים אחרים

במצבים אחרים שבהם לא נעשה שימוש ב - DocumentBuilder, כגון בטבלה קיימת, מיזוג תאים בדרך הקודמת עשוי להיות לא קל. במקום זאת, אנו יכולים לעטוף את הפעולות הבסיסיות הכרוכות ביישום מאפייני מיזוג לתאים בשיטה המקלה על המשימה הרבה יותר. שיטה זו דומה לשיטת האוטומציה של מיזוג, הנקראת למזג טווח של תאים בטבלה.

הקוד שלהלן ימזג את תאי הטבלה בטווח שצוין, החל מהתא הנתון ומסתיים בתא הקצה. במקרה זה, הטווח יכול להקיף מספר שורות או עמודות:

דוגמת הקוד הבאה מראה כיצד למזג טווח של תאים בין שני תאים מוגדרים:

בהתאם לגרסת המסגרת בה אתה משתמש, ייתכן שתרצה לחדד שיטה זו על ידי הפיכתה לשיטת הרחבה. במקרה זה, אתה יכול לקרוא לשיטה זו ישירות על תא כדי למזג טווח של תאים, כגון cell1.Merge(cell2).

תאים ממוזגים אנכיים ואופקיים בטבלה

כפי שאמרנו במאמרים קודמים, טבלה ב Microsoft Word היא קבוצה של שורות עצמאיות. לכל שורה יש קבוצה של תאים שאינם תלויים בתאים של שורות אחרות. לכן, בטבלה Microsoft Word אין אובייקט כזה כמו “עמודה”, ו" עמודה 1 “הוא משהו כמו"קבוצה של תאים 1 של כל שורה בטבלה”. זה מאפשר למשתמשים יש טבלה שבה, למשל, בשורה 1 מורכב משני תאים-2 סנטימטר ו 1 סנטימטר, ואת השורה 2 מורכב משני תאים שונים-1 סנטימטר ו 2 סנטימטר רחב. ו Aspose.Words תומך במושג זה של טבלאות.

לטבלה ב HTML יש מבנה שונה במהותו: לכל שורה יש אותו מספר תאים ו (חשוב למשימה) לכל תא יש את רוחב העמודה המתאימה, זהה לכל התאים בעמודה אחת. אז אם HorizontalMerge ו VerticalMerge מחזירים ערך שגוי, השתמש בדוגמה הבאה של הקוד:

המר לתאים ממוזגים אופקית

לפעמים לא ניתן לזהות אילו תאים מתמזגים כי כמה גרסאות חדשות יותר של Microsoft Word כבר לא משתמשות בדגלי המיזוג כאשר תאים מתמזגים באופן אופקי. אבל במצבים שבהם תאים מתמזגים לתא באופן אופקי על ידי רוחבם באמצעות דגלי מיזוג, Aspose.Words מספק את שיטת ConvertToHorizontallyMergedCells להמרת תאים. שיטה זו פשוט הופכת את הטבלה ומוסיפה תאים חדשים לפי הצורך.

הדוגמה הבאה של הקוד מראה את השיטה לעיל בפעולה: