צור טבלה ב-Word באמצעות C# | צור טבלאות מקוננות ב-C#

טבלאות במסמך וורד הן כלי רב עוצמה לארגון והצגת נתונים בפורמט ברור ומובנה. טבלה מורכבת משורות ועמודות, שמצטלבות ויוצרות תאים שיכולים להכיל טקסט, מספרים, תמונות או אלמנטים אחרים. במאמר זה, נלמד כיצד ליצור טבלה במסמכי Word באופן תכנותי באמצעות C#. מאמר זה מציג שיטות שונות ליצירת טבלאות בקובץ DOCX הנתמך על ידי דוגמאות קוד.

מאמר זה עוסק בנושאים הבאים:

ספריית C# ליצירת טבלאות במסמכי Word

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

אנא הורד את ה-DLL או התקן אותו מ-NuGet באמצעות הפקודה הבאה:

PM> Install-Package Aspose.Words

צור טבלה במסמך Word ב-C#

ישנן שתי דרכים ליצור טבלאות במסמכי Word באמצעות Aspose.Words עבור .NET:

  • שימוש במחלקה DocumentBuilder
  • שימוש ב-DOM (מודל אובייקט מסמך)

אתה יכול לבחור את השיטה המתאימה ביותר לדרישות שלך. אז בואו נחקור כל אחת מהשיטות הללו בפירוט.

צור טבלה באמצעות DocumentBuilder

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

אנא בצע את השלבים שלהלן כדי ליצור טבלה במסמך Word באמצעות המחלקה DocumentBuilder.

  1. צור אובייקט של המחלקה Document.
  2. צור אובייקט של המחלקה DocumentBuilder.
  3. צור טבלה חדשה באמצעות שיטת StartTable().
  4. הכנס תא באמצעות שיטת InsertCell().
  5. הוסף טקסט לתא באמצעות שיטת Write().
  6. חזור על הוספת תאים וטקסט לתאים לפי הצורך.
  7. סיום שורה באמצעות שיטת EndRow().
  8. סיים את הטבלה בשיטת EndTable().
  9. לבסוף, שמור את מסמך Word באמצעות שיטת Save().

דוגמת הקוד הבאה מראה כיצד ליצור טבלה במסמך Word באמצעות C#.

// דוגמה זו מדגימה כיצד ליצור טבלה במסמך Word באמצעות C#
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// התחל לבנות את השולחן.
builder.StartTable();
builder.InsertCell();
builder.Write("Row 1, Cell 1 Content.");

// בנה את התא השני.
builder.InsertCell();
builder.Write("Row 1, Cell 2 Content.");

// התקשר לשיטה הבאה כדי לסיים את השורה ולהתחיל שורה חדשה.
builder.EndRow();

// בנה את התא הראשון בשורה השנייה.
builder.InsertCell();
builder.Write("Row 2, Cell 1 Content");

// בנה את התא השני.
builder.InsertCell();
builder.Write("Row 2, Cell 2 Content.");
builder.EndRow();

// סימן שסיימנו לבנות את הטבלה.
builder.EndTable();

doc.Save("CreateSimpleTable.docx");
צור טבלה ב-Word באמצעות DocumentBuilder

צור טבלה באמצעות DocumentBuilder

צור טבלה באמצעות Document Object Model (DOM)

מודל אובייקט המסמך (DOM) הוא ייצוג בזיכרון של מסמך Word. הוא מאפשר גישה פרוגרמטית לקריאה, מניפולציה ושינוי של התוכן והעיצוב של מסמך Word.

אנא בצע את השלבים הבאים כדי ליצור טבלה במסמך Word באמצעות DOM.

  1. צור אובייקט של המחלקה Document.
  2. צור טבלה חדשה באמצעות המחלקה Table().
  3. הוסף טבלה לגוף המסמך באמצעות שיטת AppendChild().
  4. צור אובייקט של המחלקה Row והכנס אותו לטבלה באמצעות שיטת Table.AppendChild(Row).
  5. צור אובייקט של המחלקה Cell, הגדר אפשרויות עיצוב והוסף טקסט לתא.
  6. הכנס את התא לשורה בשיטת Row.AppendChild(Cell).
  7. לאחר מכן, חזור על התהליך עבור כמה שורות שתרצה.
  8. לבסוף, שמור את מסמך Word באמצעות שיטת Save().

דוגמת הקוד הבאה מראה כיצד ליצור טבלה במסמך Word באמצעות C#.

// דוגמה זו מדגימה כיצד ליצור טבלה במסמך Word באמצעות DOM ב-C#
Document doc = new Document();

// נתחיל ביצירת אובייקט הטבלה. שימו לב שעלינו להעביר את אובייקט המסמך
// לבנאי של כל צומת. הסיבה לכך היא שכל צומת שאנו יוצרים חייב להיות שייך
// למסמך כלשהו.
Table table = new Table(doc);
doc.FirstSection.Body.AppendChild(table);

// כאן נוכל לקרוא ל-EnsureMinimum כדי ליצור עבורנו את השורות והתאים. נעשה שימוש בשיטה זו
// כדי להבטיח שהצומת שצוין חוקי. במקרה זה, טבלה חוקית צריכה לכלול שורה אחת ותא אחד לפחות.

// במקום זאת, נטפל בעצמנו ביצירת השורה והטבלה.
// זו תהיה הדרך הטובה ביותר לעשות זאת אם היינו יוצרים טבלה בתוך אלגוריתם.
Row row = new Row(doc);
row.RowFormat.AllowBreakAcrossPages = true;
table.AppendChild(row);

// כעת נוכל להחיל כל הגדרות של התאמה אוטומטית.
table.AutoFit(AutoFitBehavior.FixedColumnWidths);

Cell cell = new Cell(doc);
cell.CellFormat.Shading.BackgroundPatternColor = Color.LightBlue;
cell.CellFormat.Width = 80;
cell.AppendChild(new Paragraph(doc));
cell.FirstParagraph.AppendChild(new Run(doc, "Row 1, Cell 1 Text"));

// הוסף תא
row.AppendChild(cell);

// לאחר מכן נחזור על התהליך עבור התאים והשורות האחרות בטבלה.
// אנחנו יכולים גם להאיץ דברים על ידי שיבוט תאים ושורות קיימים.
row.AppendChild(cell.Clone(false));
row.LastCell.AppendChild(new Paragraph(doc));
row.LastCell.FirstParagraph.AppendChild(new Run(doc, "Row 1, Cell 2 Text"));

// שמור את המסמך
doc.Save("InsertTableDirectly.docx");
צור טבלה באמצעות Document Object Model (DOM)

צור טבלה באמצעות Document Object Model (DOM)

צור טבלה מקוננת במסמך Word באמצעות C#

אנחנו יכולים גם ליצור טבלה חדשה בתוך תא של הטבלה. להלן השלבים ליצירת טבלה מקוננת במסמך Word.

  1. צור אובייקט של המחלקה Document.
  2. צור אובייקט של המחלקה DocumentBuilder.
  3. צור טבלה בשיטת StartTable() וקבל הפניה לטבלה באובייקט.
  4. הכנס תא בשיטת InsertCell() וקבל הפניה לתא באובייקט.
  5. הוסף טקסט לתא באמצעות שיטת DocumentBuilder.Write().
  6. חזור על הוספת תאים וטקסט לתאים לפי הצורך.
  7. סיים את הטבלה לאחר שהוספת את כל השורות.
  8. הזז את הפקד בתוך התא הרצוי באמצעות שיטת MoveTo(cell.FirstParagraph).
  9. צור טבלה נוספת על ידי הוספת תאים, וסיים את הטבלה בסיום.
  10. לבסוף, שמור את מסמך Word בשיטת Save().

דוגמת הקוד הבאה מראה כיצד ליצור טבלה מקוננת במסמך Word באמצעות C#.

// דוגמה זו מדגימה כיצד ליצור טבלה מקוננת במסמך Word באמצעות C#
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Cell cell = builder.InsertCell();
builder.Writeln("Outer Table Cell 1");

builder.InsertCell();
builder.Writeln("Outer Table Cell 2");

// קריאה זו חשובה ליצירת טבלה מקוננת בתוך הטבלה הראשונה. 
// ללא קריאה זו, התאים המוכנסים להלן יצורפו לטבלה החיצונית.
builder.EndTable();

// עבור לתא הראשון של הטבלה החיצונית.
builder.MoveTo(cell.FirstParagraph);

// בנה את השולחן הפנימי.
builder.InsertCell();
builder.Writeln("Inner Table Cell 1");
builder.InsertCell();
builder.Writeln("Inner Table Cell 2");
builder.EndTable();

// שמור את המסמך
doc.Save("NestedTable.docx");
צור טבלה מקוננת במסמך Word באמצעות C#

צור טבלה מקוננת במסמך Word באמצעות C#

שכפול טבלה קיימת במסמך Word ב-C#

אנו יכולים לשכפל טבלה קיימת במסמך Word על ידי ביצוע השלבים הבאים:

  1. טען מסמך קיים עם טבלה באמצעות המחלקה Document.
  2. קבל את הטבלה באובייקט באמצעות שיטת GetChild(NodeType.TABLE, int, boolean).
  3. שכפול טבלה בשיטת Table.Clone(True).
  4. הכנס טבלה משובטת באמצעות שיטת Table.ParentNode.InsertAfter().
  5. הוסף פסקה ריקה בין טבלאות באמצעות שיטת Table.ParentNode.InsertAfter(new Paragraph(Document), Table).
  6. לבסוף, שמור את מסמך Word באמצעות שיטת Save().

דוגמת הקוד הבאה מראה כיצד לשכפל טבלה במסמך Word באמצעות C#.

// דוגמה זו מדגימה כיצד לשכפל טבלה קיימת במסמך Word באמצעות C#
Document doc = new Document("Tables.docx");

Table table = (Table) doc.GetChild(NodeType.Table, 0, true);

// שכפל את הטבלה והכנס אותה למסמך אחרי המקור.
Table tableClone = (Table) table.Clone(true);
table.ParentNode.InsertAfter(tableClone, table);

// הוסף פסקה ריקה בין שתי הטבלאות,
// לחלופין, הם ישולבו לאחד עם השמירה, זה קשור לאימות מסמך.
table.ParentNode.InsertAfter(new Paragraph(doc), table);
            
doc.Save("CloneCompleteTable.docx");
שכפול טבלה קיימת במסמך Word ב-C#

שכפול טבלה קיימת במסמך Word ב-C#

צור טבלה במסמך Word מ-HTML

אנו יכולים גם ליצור טבלה במסמך Word באמצעות מחרוזת HTML על ידי ביצוע השלבים הבאים:

  1. צור אובייקט של המחלקה Document.
  2. צור אובייקט של המחלקה DocumentBuilder.
  3. הכנס את מחרוזת ה-HTML של הטבלה למסמך באמצעות שיטת DocumentBuilder.InsertHtml(String).
  4. לבסוף, שמור את המסמך באמצעות שיטת Document.Save().

דוגמת הקוד הבאה מראה כיצד להוסיף טבלת HTML במסמך Word באמצעות C#.

// דוגמה זו מדגימה כיצד להוסיף טבלת HTML במסמך Word באמצעות C#
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// שים לב ש-AutoFitSettings לא חל על טבלאות שהוכנסו מ-HTML.
builder.InsertHtml("<table>" +
                   "<tr>" +
                   "<td>Row 1, Cell 1</td>" +
                   "<td>Row 1, Cell 2</td>" +
                   "</tr>" +
                   "<tr>" +
                   "<td>Row 2, Cell 2</td>" +
                   "<td>Row 2, Cell 2</td>" +
                   "</tr>" +
                   "</table>");

doc.Save("InsertTableFromHtml.docx");
צור טבלה במסמך Word מ-HTML

צור טבלה במסמך Word מ-HTML

קבל רישיון API בחינם

אתה יכול לקבל רישיון זמני לשימוש ב-Aspose.Words עבור .NET ללא מגבלות הערכה.

סיכום

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

ראה גם