CSV([カンマ区切り値][3]ファイルは、アプリケーション間でデータを交換するために広く使用されています。このデータを表示可能で意味のある情報に変換する場合は、他の形式に変換する必要があります。投稿の1つで、 [Javaを使用してレポートでCSVデータを変換する方法][4]を見てきました。この記事では、簡単なテンプレートを使用して、** C#を使用してCSVデータをPDFおよびMS Word DOC/DOCXレポートに変換する**方法について説明します。
以下のトピックについて説明します。
- [レポート生成.NETAPI][5]
- [CSVデータからPDFレポートを生成][6]
- [CSVデータからMSWordレポートを生成][7]
レポート生成.NETAPI
[GroupDocs.Assembly][8]は、レポート生成を自動化するための.NETレポートAPIを提供します。この記事では、この[GroupDocs.Assembly for .NET][9]を使用して、選択したCSVデータとTXT形式のテンプレートからレポートを生成しました。また、** JSON、XML などの複数のデータソースをサポートし、 MS Word 、 Excel 、およびPowerPoint**ファイルからのデータファイルもサポートします。
[ダウンロードセクション][10]からDLLまたはMSIインストーラーをダウンロードするか、[NuGet][11]を介して.NETアプリケーションにAPIをインストールできます。
PM> Install-Package GroupDocs.Assembly
C#でCSVデータからPDFレポートを生成する
カンマで区切られたデータを表示可能なPDFに変換することから始めましょう。次の手順は、CSVデータをフォーマットされたPDFレポートに変換するためのガイドです。
- CSVデータソースを読み込みます。
- CSVデータに従ってテンプレートを定義します。
- PDFレポートを生成する簡単な方法にCSVデータソースとテンプレートを提供します。
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)\]>>
C#でCSVからPDFレポートを生成する手順
次の手順では、.NET Reporting APIでC#を使用して、定義されたテンプレートに従ってCSVデータをPDFレポートに変換する方法について説明します。
- CSVデータファイル、テンプレートファイル、およびPDF出力ファイルのパスを定義します。
- CSVデータファイルと読み込みオプションを使用して[CsvDataSoure][12]をインスタンス化します。
- 定義されたデータソースを使用して[DataSourceInfo][13]を作成します。
- [DocumentAssembler][14]を使用して、定義されたテンプレートファイル、出力ファイル、およびDataSourceInfoを指定して[AssembleDocument][15]メソッドを呼び出し、PDFレポートを出力として取得します。
次のコードは、C#でCSVデータをPDFレポートに変換する方法を示しています。
// GroupDocs.Assembly APIを使用してC#でTXTテンプレートを使用してCSVデータからPDFレポートを生成する
// データソース、テンプレート、および出力レポートファイルを定義します。
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"));
C#のCSVデータからMSWordレポートを生成する
自動生成されたレポートを手動で編集する場合は、出力をMSWordドキュメントとして取得することもできます。プロセスは、上記のPDFレポートの生成と非常によく似ています。次の手順は、CSVデータからDOC/DOCXレポートを生成するためのガイドです。
- ファイルからCSVデータをロードします。
- TXTまたはDOCX形式でテンプレートを定義します。
- 出力レポートドキュメント形式をDOC/DOCXとして設定します。
- [AssembleDocument][16]メソッドを呼び出して、CSVデータからMSWordDOCXレポートを生成します。
次のコードは、C#を使用してCSVデータをDOCXレポートに変換する方法を示しています。
// GroupDocs.Assembly APIを使用してC#でTXTテンプレートを使用してCSVデータからWordDOCXレポートを生成する
// データソース、テンプレート、および出力レポートファイルを定義します。
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]することができます。
結論
結論として、C#を使用してCSVデータをPDFおよびMSWordレポートに変換する方法を学びました。これで、CSVデータをPDF形式に変換して、独自の.NETレポートジェネレータアプリケーションを確実に構築できるようになります。同様に、JSONやXMLなどの他のデータソースを使用してレポートを生成することもできます。
APIの詳細については、[documentation][18]および[GitHub][19]リポジトリにアクセスしてください。さらに質問やあいまいな点がある場合は、[フォーラム][20]の無料サポートに連絡してください。
関連項目
- [C#を使用してJSONデータからレポートを生成する][21]
- [Javaを使用してCSVデータからレポートを生成する][22]
[1]: https://docs.fileformat.com/spreadsheet/csv/) [2]: https://blog.groupdocs.com/ja/assembly/generate-reports-from-csv-data-in-java/ [3]: https://docs.fileformat.com/spreadsheet/csv/) [4]: https://blog.groupdocs.com/ja/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/ja/assembly/generate-reports-from-json-data-in-csharp/ [22]: https://blog.groupdocs.com/ja/assembly/generate-reports-from-csv-data-in-java/