כמפתח .NET, אתה צריך להתמודד עם אובייקטי DataTable לעתים קרובות מאוד. במיוחד כאשר אתה צריך לייבא או לייצא נתונים ממסדי נתונים או קבצי XML/JSON. בעת יצירת מסמכים באופן פרוגרמטי, ייתכן שיהיה עליך להוסיף נתונים מאובייקטי DataTable ישירות לטבלה במסמכי Word. למקרים כאלה, הרשו לי לתת לכם את הפתרון המושלם והקל ביותר להכנסת נתונים מ-DataTable למסמך Word ב-C#.
- ספריית C# להוספת DataTable במסמך Word
- שלבים להוספת DataTable למסמך Word
- הכנס נתונים מ-DataTable לתוך Word DOC
ספריית C# להכנסת DataTable ב- Word DOC - הורדה חינם
כדי לייבא נתונים מאובייקטי DataTable למסמכי Word, נשתמש ב-Aspose.Words for .NET. זוהי ספרייה עשירה בתכונות המאפשרת לך ליצור ולעבד מסמכי MS Word. אתה יכול להוריד את ה-DLL שלו או להתקין אותו מ-NuGet.
הורד DLL
התקן דרך NuGet
PM> Install-Package Aspose.Words
C# הכנס DataTable למסמך Word - שלבים
להלן השלבים שנבצע כדי לאחזר נתונים מ-DataTable ולהכניס אותם למסמך Word.
- טען נתונים ממסד נתונים או מקובץ נתונים לאובייקט DataTable.
- צור מסמך Word חדש והוסף לו טבלה חדשה.
- עברו בלולאה בין השורות ב-DataTable והוסיפו כל שורה בטבלה של Word.
וזה הכל.
הבה נבחן כעת כיצד להפוך את השלבים הללו לקוד C# ולייבא DataTable למסמך Word.
הכנס נתונים מ-DataTable לתוך Word DOC ב-C#
ראשית, נכתוב שיטה שמקבלת את ה-DocumentBuilder לבניית המסמך, ל-DataTable יש נתונים ופרמטר נוסף להפעלה/השבתה של ייבוא כותרות עמודות. יתר על כן, הוא מחזיר את אובייקט הטבלה.
להלן זרימת העבודה של שיטה זו.
- צור טבלה חדשה וקבל את ההתייחסות שלה לאובייקט טבלה.
- הכנס עמודות לטבלה לפי העמודות ב-DataTable.
- הגדר את משקל הגופן אם השורה הראשונה מיועדת לכותרות.
- עברו בלולאה בכל DataRow באוסף DataTable.Rows.
- הכנס תא חדש לכל ערך והגדר את סוג הנתונים בהתאם.
- החזר את אובייקט הטבלה.
להלן יישום השיטה לייבוא נתונים מ-DataTable לטבלה במסמך Word ב-C#.
///<summary>
/// מייבא את התוכן מה-DataTable שצוין לאובייקט חדש של Aspose.Words Table.
/// הטבלה מוכנסת במיקום הנוכחי של בונה המסמכים ובאמצעות העיצוב של הבונה הנוכחי אם מוגדר.
///</summary>
public static Table ImportTableFromDataTable(DocumentBuilder builder, DataTable dataTable, bool importColumnHeadings)
{
Table table = builder.StartTable();
// בדוק אם יש לכלול את שמות העמודות ממקור הנתונים בשורת כותרת.
if (importColumnHeadings)
{
// אחסן את הערכים המקוריים של מאפיינים אלה לפני שינוים.
bool boldValue = builder.Font.Bold;
ParagraphAlignment paragraphAlignmentValue = builder.ParagraphFormat.Alignment;
// עצב את שורת הכותרת עם המאפיינים המתאימים.
builder.Font.Bold = true;
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
// צור שורה חדשה והכנס את השם של כל עמודה לשורה הראשונה של הטבלה.
foreach (DataColumn column in dataTable.Columns)
{
builder.InsertCell();
builder.Writeln(column.ColumnName);
}
builder.EndRow();
// שחזר את העיצוב המקורי.
builder.Font.Bold = boldValue;
builder.ParagraphFormat.Alignment = paragraphAlignmentValue;
}
foreach (DataRow dataRow in dataTable.Rows)
{
foreach (object item in dataRow.ItemArray)
{
// הוסף תא חדש עבור כל אובייקט.
builder.InsertCell();
switch (item.GetType().Name)
{
case "DateTime":
// הגדר פורמט מותאם אישית עבור תאריכים ושעות.
DateTime dateTime = (DateTime)item;
builder.Write(dateTime.ToString("MMMM d, yyyy"));
break;
default:
// כברירת מחדל, כל פריט אחר יוכנס כטקסט.
builder.Write(item.ToString());
break;
}
}
// לאחר שנכניס את כל הנתונים מהרשומה הנוכחית נוכל לסיים את שורת הטבלה.
builder.EndRow();
}
// סיימנו להכניס את כל הנתונים מה-DataTable, נוכל לסיים את הטבלה.
builder.EndTable();
return table;
}
כעת, הגיע הזמן לקרוא לשיטה זו ולהכניס DataTable למסמך Word.
ייבוא DataTable למסמך Word ב-C#
להלן השלבים לייבא נתונים מ-DataTable למסמך Word ב-C#.
- צור מסמך Word חדש (או טען מסמך קיים) באמצעות המחלקה Document.
- קרא נתונים ממסד נתונים/קובץ לאובייקט DataTable.
- קרא לשיטה שכתבנו בסעיף הקודם וקבל את הטבלה המוחזרת.
- הגדר עיצוב של הטבלה.
- שמור קובץ Word בשיטת Document.Save().
דוגמת הקוד הבאה מראה כיצד להוסיף DataTable למסמך Word ב-C#.
// צור מסמך חדש.
Document doc = new Document();
// אנו יכולים למקם היכן אנו רוצים שהטבלה תוכנס וגם לציין כל עיצוב נוסף שיהיה
// מיושם גם על השולחן.
DocumentBuilder builder = new DocumentBuilder(doc);
// אנו רוצים לסובב את נוף העמוד כפי שאנו מצפים לטבלה רחבה.
doc.FirstSection.PageSetup.Orientation = Orientation.Landscape;
DataSet ds = new DataSet();
ds.ReadXml("Employees.xml");
// אחזר את הנתונים ממקור הנתונים שלנו המאוחסן כ-DataTable.
DataTable dataTable = ds.Tables[0];
// בנו טבלה במסמך מהנתונים הכלולים ב-DataTable.
Table table = ImportTableFromDataTable(builder, dataTable, true);
// אנו יכולים ליישם סגנון טבלה כדרך מהירה מאוד להחיל עיצוב על הטבלה כולה.
table.StyleIdentifier = StyleIdentifier.MediumList2Accent1;
table.StyleOptions = TableStyleOptions.FirstRow | TableStyleOptions.RowBands | TableStyleOptions.LastColumn;
// עבור הטבלה שלנו אנו רוצים להסיר את הכותרת של עמודת התמונה.
table.FirstRow.LastCell.RemoveAllChildren();
// שמור את מסמך הפלט.
doc.Save("Table.docx");
C# DataTable לספריית יבואן Word - קבל רישיון חינם
אתה יכול לקבל [רישיון זמני] בחינם6 לשימוש ב-Aspose.Words עבור .NET ללא מגבלות הערכה.
סיכום
במאמר זה, למדת כיצד להוסיף נתונים מ-DataTable למסמך Word ב-C#. אתה יכול בקלות לשלב את דוגמת הקוד באפליקציות שלך ולייבא נתונים ישירות ממסד נתונים/XML/JSON למסמכי Word באמצעות DataTable.
ספריית .NET Word - קרא עוד
אתה יכול לבקר בתיעוד של Aspose.Words for .NET כדי לחקור עוד על הספרייה. למקרה שיש לך שאלות כלשהן, אל תהסס ליידע אותנו דרך הפורום שלנו.