קבצי CSV Comma Separated Values נמצאים בשימוש נרחב להחלפת נתונים בין יישומים. כאשר אתה רוצה שהנתונים האלה יתורגמו למידע ייצוגי ומשמעותי, עליך להמיר אותם לפורמט אחר. באחד מהפוסטים שלנו, ראינו כיצד להמיר נתוני CSV בדוחות באמצעות Java. מאמר זה ידריך אותך להמיר נתוני CSV לדוחות PDF ו-MS Word DOC/DOCX באמצעות C# באמצעות תבנית פשוטה.
הנושאים הבאים מכוסים להלן:
NET API של יצירת דוחות
GroupDocs.Assembly מספק את ממשק ה-API לדיווח .NET כדי להפוך את הפקת הדוחות לאוטומטית. במאמר זה, השתמשתי ב-GroupDocs.Assembly for .NET זה להפקת דוחות מנתוני ה-CSV שנבחרו ותבנית פורמט TXT. זה גם תומך במספר מקורות נתונים כמו JSON, XML, וגם מקבצי MS Word, Excel ו-PowerPoint כקובצי נתונים.
אתה יכול להוריד את קובצי ה-DLL או את תוכנית ההתקנה של MSI מ סעיף ההורדות או להתקין את ה-API באפליקציית NET שלך דרך NuGet.
PM> Install-Package GroupDocs.Assembly
הפק דוח PDF מנתוני CSV ב-C#
נתחיל בהפיכת הנתונים המופרדים בפסיקים לקובץ PDF בר ייצוג. השלבים הבאים ידריכו אותך להמיר את נתוני ה-CSV לדוח PDF בפורמט.
- טען מקור נתונים של CSV.
- הגדר תבנית לפי נתוני ה-CSV.
- ספק מקור נתונים ותבנית CSV לשיטה פשוטה להפקת דוח PDF.
 
 
נתוני CSV
כדי לקבל את דוח ה-PDF, אשתמש בנתוני ה-CSV לדוגמה הבאים של אנשים שונים יחד עם הנתונים המתאימים של גילאים ותאריך לידה.
Name,Age,Birth  
John Doe,32,4/1/1989 16:00  
Jane Doe,29,1/31/1992 7:00  
John Smith,53,3/8/1968 13:00
תבנית
השלב הבא יהיה הגדרת התבנית בפורמט TXT או DOCX. להלן התבנית המשמשת בדוגמה זו ומאפשרת איטרציה של רשימת האנשים עם הפרטים שלהם.
<<foreach \[in persons\]>>Name: <<\[Name\]>>, Age: <<\[Age\]>>, Date of Birth: <<\[Birth\]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<\[persons.Average(p => p.Age)\]>>
שלבים ליצירת דוח PDF מ-CSV ב-C#
השלבים הבאים מדריך להמרת נתוני ה-CSV לדוח PDF לפי התבנית שהוגדרה באמצעות C# עם ה-.NET Reporting API.
- הגדר קובץ נתוני CSV, קובץ תבנית ונתיבים של קובץ הפלט של PDF.
- הפעל CsvDataSoure עם קובץ נתוני CSV ואפשרויות טעינה.
- צור DataSourceInfo עם מקור הנתונים שהוגדר.
- באמצעות DocumentAssembler, התקשר לשיטת AssembleDocument עם קובץ תבנית מוגדר, קובץ פלט ו-DataSourceInfo כדי לקבל את דוח ה-PDF כפלט.
הקוד הבא מראה כיצד להמיר נתוני CSV לדוח PDF ב-C#.
// הפק דוח PDF מנתוני CSV באמצעות תבנית TXT ב-C# עם GroupDocs.Assembly API
// הגדר מקור נתונים, תבנית וקובצי דוחות פלט.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.pdf";
// טען מקור נתונים של CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));
// הפק דוח בפורמט PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));
הפק דוח MS Word מנתוני CSV ב-C#
אם אתה רוצה עריכה ידנית כלשהי בדוח שנוצר אוטומטית, אתה יכול גם לקבל את הפלט כמסמך MS Word. התהליך יהיה דומה מאוד ליצירת דוחות PDF לעיל. השלבים הבאים ידריכו ליצור את דוח ה-DOC/DOCX מנתוני ה-CSV:
- טען את נתוני ה-CSV מהקובץ.
- הגדרת התבנית בפורמט TXT או DOCX.
- הגדר את פורמט מסמך דוח הפלט כ-DOC/DOCX.
- קרא לשיטה AssembleDocument כדי להפיק דוח MS Word DOCX מנתוני ה-CSV.
הקוד הבא מראה כיצד להמיר נתוני CSV לדוח DOCX באמצעות C#.
// צור דוח Word DOCX מנתוני CSV באמצעות תבנית TXT ב-C# עם GroupDocs.Assembly API
// הגדר מקור נתונים, תבנית וקובצי דוחות פלט.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.docx";
// טען מקור נתונים של CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));
// צור דוח בפורמט DOCX
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));
קבל רישיון API בחינם
אתה יכול לקבל רישיון זמני בחינם על מנת להשתמש ב-API ללא מגבלות ההערכה.
סיכום
לסיום, למדת להמיר את נתוני ה-CSV לדוחות PDF ו-MS Word באמצעות C#. כעת עליך להיות בטוח בבניית יישום מחולל דוחות .NET משלך על ידי המרת נתוני CSV לפורמט PDF. באופן דומה, אתה יכול גם להפיק דוחות באמצעות מקורות נתונים אחרים כמו JSON ו-XML.
למידע נוסף על ה-API, אתה יכול לבקר בתיעוד ובמאגר GitHub. במקרה של שאלות נוספות ואי בהירות, צור קשר עם התמיכה החינמית בפורום.