فایل‌های CSV ([Comma Separated Values][3] به‌طور گسترده برای تبادل داده‌ها بین برنامه‌ها استفاده می‌شوند. وقتی می‌خواهید این داده‌ها به اطلاعات قابل ارائه و معنی‌دار ترجمه شوند، باید آن را به فرمت دیگری تبدیل کنید. در یکی از پست‌های ما، ما [نحوه تبدیل داده‌های CSV در گزارش‌ها با استفاده از جاوا[4] را دیده‌ایم. این مقاله شما را راهنمایی می‌کند تا با استفاده از یک الگوی ساده، داده‌های CSV را به گزارش‌های PDF و MS Word DOC/DOCX با استفاده از C# تبدیل کنید.

موضوعات زیر در زیر پوشش داده شده است:

  • [Report Generation .NET API][5]
  • [گزارش PDF از داده های CSV ایجاد کنید][6]
  • [گزارش MS Word را از داده‌های CSV ایجاد کنید][7]

Report Generation .NET API

[GroupDocs.Assembly][8] API گزارش دهی .NET را برای خودکارسازی تولید گزارش فراهم می کند. در این مقاله، من از این [GroupDocs.Assembly for .NET][9] برای تولید گزارش از داده های CSV انتخاب شده و یک قالب قالب TXT استفاده کرده ام. همچنین از چندین منبع داده مانند JSON، XML و همچنین فایل های MS Word، Excel و PowerPoint به عنوان فایل های داده پشتیبانی می کند.

می توانید نصب کننده DLL یا MSI را از [بخش دانلودها][10] دانلود کنید یا API را در برنامه .NET خود از طریق [NuGet][11] نصب کنید.

PM> Install-Package GroupDocs.Assembly

ایجاد گزارش PDF از داده های CSV در C#

بیایید با تبدیل داده های جدا شده با کاما به یک PDF قابل ارائه شروع کنیم. مراحل زیر شما را راهنمایی می کند تا داده های CSV را به یک گزارش فرمت شده PDF تبدیل کنید.

  • منبع داده CSV را بارگیری کنید.
  • قالب را با توجه به داده های CSV تعریف کنید.
  • منبع داده CSV و الگو را به روشی ساده برای تولید گزارش PDF ارائه دهید.
گزارش 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 در سی شارپ

راهنمای مراحل زیر در مورد تبدیل داده‌های CSV به گزارش پی‌دی‌اف بر اساس الگوی تعریف‌شده با استفاده از C# با .NET Reporting API.

  • فایل داده CSV، فایل الگو و مسیرهای فایل خروجی PDF را تعریف کنید.
  • [CsvDataSoure][12] را با فایل داده CSV و گزینه‌های بارگیری نمونه‌سازی کنید.
  • [DataSourceInfo][13] را با منبع داده تعریف شده ایجاد کنید.
  • با استفاده از [DocumentAssembler][14]، روش [AssembleDocument][15] را با فایل قالب، فایل خروجی و 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 تنظیم کنید.
  • برای تولید گزارش MS Word DOCX از داده‌های CSV، روش [AssembleDocument][16] را فراخوانی کنید.

کد زیر نحوه تبدیل داده های 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 بدون محدودیت ارزیابی، می توانید [یک مجوز موقت رایگان دریافت کنید][17].

نتیجه

برای نتیجه گیری، شما یاد گرفته اید که داده های CSV را با استفاده از C# به گزارش های PDF و MS Word تبدیل کنید. اکنون باید مطمئن باشید که با تبدیل داده‌های CSV به فرمت PDF، برنامه تولید کننده گزارش .NET خود را بسازید. به طور مشابه، شما همچنین می توانید گزارش هایی را با استفاده از منابع داده دیگر مانند JSON و XML ایجاد کنید.

برای اطلاعات بیشتر در مورد API، می توانید از [documentation][18] و مخزن [GitHub][19] دیدن کنید. در صورت سوالات و ابهامات بیشتر، با پشتیبانی رایگان در [فروم [20] تماس بگیرید.

همچنین ببینید

  • [ایجاد گزارش از داده های JSON با استفاده از C#][21]
  • [ایجاد گزارش از داده های CSV با استفاده از جاوا][22]

[1]: https://docs.fileformat.com/spreadsheet/csv/) [2]: https://blog.groupdocs.com/fa/assembly/generate-reports-from-csv-data-in-java/ [3]: https://docs.fileformat.com/spreadsheet/csv/) [4]: https://blog.groupdocs.com/fa/assembly/generate-reports-from-csv-data-in-java/ [5]: #report-generator-dotnet-api [6]: #csv-to-pdf-report-csharp [7]: #csv-to-docx-report-java [8]: https://products.groupdocs.com/assembly/java [9]: https://products.groupdocs.com/assembly/net/ [10]: https://downloads.groupdocs.com/assembly/net [11]: https://www.nuget.org/packages/groupdocs.assembly [12]: https://apireference.groupdocs.com/net/assembly/groupdocs.assembly.data/csvdatasource [13]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/datasourceinfo [14]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler [15]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler/methods/assembledocument/index [16]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler/methods/assembledocument/index [17]: https://purchase.groupdocs.com/temporary-license [18]: https://docs.groupdocs.com/assembly/net/ [19]: https://github.com/groupdocs-assembly [20]: https://forum.groupdocs.com/c/assembly [21]: https://blog.groupdocs.com/fa/assembly/generate-reports-from-json-data-in-csharp/ [22]: https://blog.groupdocs.com/fa/assembly/generate-reports-from-csv-data-in-java/