Pliki CSV ([Comma Separated Values][3] są szeroko stosowane do wymiany danych między aplikacjami. Jeśli chcesz, aby te dane zostały przetłumaczone na reprezentatywne i znaczące informacje, musisz przekonwertować je na inny format. W jednym z naszych postów, widzieliśmy [jak konwertować dane CSV w Raportach przy użyciu Javy][4]. Ten artykuł poprowadzi Cię do konwersji danych CSV do raportów PDF i MS Word DOC/DOCX przy użyciu C# przy użyciu prostego szablonu.

Poniżej omówiono następujące tematy:

  • [Interfejs API platformy .NET do generowania raportów][5]
  • [Wygeneruj raport PDF z danych CSV][6]
  • [Wygeneruj raport MS Word z danych CSV][7]

Interfejs API platformy .NET do generowania raportów

[GroupDocs.Assembly][8] zapewnia interfejs API raportowania .NET do automatyzacji generowania raportów. W tym artykule wykorzystałem ten [GroupDocs.Assembly for .NET][9] do generowania raportów z wybranych danych CSV i szablonu w formacie TXT. Obsługuje również wiele źródeł danych, takich jak JSON, XML, a także pliki MS Word, Excel i PowerPoint jako pliki danych.

Możesz pobrać instalator bibliotek DLL lub MSI z [sekcji pobierania][10] lub zainstalować interfejs API w swojej aplikacji .NET za pośrednictwem [NuGet][11].

PM> Install-Package GroupDocs.Assembly

Wygeneruj raport PDF z danych CSV w C#

Zacznijmy od przekształcenia danych oddzielonych przecinkami w nadający się do prezentacji plik PDF. Poniższe kroki pomogą Ci przekonwertować dane CSV na sformatowany raport PDF.

  • Załaduj źródło danych CSV.
  • Zdefiniuj szablon zgodnie z danymi CSV.
  • Podaj źródło danych CSV i szablon do prostej metody generowania raportu PDF.
Raport CSV do PDF w C#

Dane CSV

Aby otrzymać raport w formacie PDF, użyję następujących przykładowych danych CSV różnych osób wraz z ich odpowiednimi danymi dotyczącymi wieku i daty urodzenia.

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

Szablon

Kolejnym krokiem byłoby zdefiniowanie szablonu w formacie TXT lub DOCX. Poniżej znajduje się szablon, który jest używany w tym przykładzie i umożliwia iterację listy osób wraz z ich danymi.

<<foreach \[in persons\]>>Name: <<\[Name\]>>, Age: <<\[Age\]>>, Date of Birth: <<\[Birth\]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<\[persons.Average(p => p.Age)\]>>

Kroki, aby wygenerować raport PDF z CSV w C#

Poniższe kroki prowadzą do konwersji danych CSV na raport PDF zgodnie ze zdefiniowanym szablonem przy użyciu języka C# z interfejsem .NET Reporting API.

  • Zdefiniuj plik danych CSV, plik szablonu i ścieżki wyjściowego pliku PDF.
  • Utwórz instancję [CsvDataSoure][12] z plikiem danych CSV i opcjami ładowania.
  • Utwórz [DataSourceInfo][13] ze zdefiniowanym źródłem danych.
  • Używając [DocumentAssembler][14], wywołaj metodę [AssembleDocument][15] ze zdefiniowanym plikiem szablonu, plikiem wyjściowym i DataSourceInfo, aby otrzymać raport PDF jako wynik.

Poniższy kod pokazuje, jak przekonwertować dane CSV na raport PDF w języku C#.

// Wygeneruj raport PDF z danych CSV przy użyciu szablonu TXT w języku C# z GroupDocs.Assembly API
// Zdefiniuj źródło danych, szablon i pliki raportów wyjściowych.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.pdf";

// Załaduj źródło danych CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));

// Wygeneruj raport w formacie PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));

Wygeneruj raport MS Word z danych CSV w C#

Jeśli chcesz ręcznie edytować w automatycznie generowanym raporcie, możesz również uzyskać dane wyjściowe jako dokument MS Word. Proces będzie bardzo podobny do powyższego generowania raportu PDF. Poniższe kroki pomogą wygenerować raport DOC/DOCX z danych CSV:

  • Załaduj dane CSV z pliku.
  • Definiowanie szablonu w formacie TXT lub DOCX.
  • Ustaw format dokumentu raportu wyjściowego jako DOC/DOCX.
  • Wywołaj metodę [AssembleDocument][16], aby wygenerować raport MS Word DOCX z danych CSV.

Poniższy kod pokazuje, jak przekonwertować dane CSV na raport DOCX przy użyciu języka C#.

// Generuj raport Word DOCX z danych CSV przy użyciu szablonu TXT w języku C# z GroupDocs.Assembly API
// Zdefiniuj źródło danych, szablon i pliki raportów wyjściowych.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.docx";

// Załaduj źródło danych CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));

// Wygeneruj raport w formacie DOCX
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));

Uzyskaj bezpłatną licencję API

Możesz [uzyskać bezpłatną tymczasową licencję][17], aby korzystać z API bez ograniczeń ewaluacyjnych.

Wniosek

Podsumowując, nauczyłeś się konwertować dane CSV na raporty PDF i MS Word za pomocą C#. Teraz musisz mieć pewność, że zbudujesz własną aplikację do generowania raportów .NET, konwertując dane CSV do formatu PDF. Podobnie możesz generować raporty przy użyciu innych źródeł danych, takich jak JSON i XML.

Więcej informacji na temat interfejsu API można znaleźć w [documentation][18] i repozytorium [GitHub][19]. W przypadku dalszych pytań i niejasności skontaktuj się z bezpłatną pomocą techniczną na [forum][20].

Zobacz też

  • [Generuj raporty z danych JSON przy użyciu C#][21]
  • [Generuj raporty z danych CSV przy użyciu języka Java][22]

[1]: https://docs.fileformat.com/spreadsheet/csv/) [2]: https://blog.groupdocs.com/pl/assembly/generate-reports-from-csv-data-in-java/ [3]: https://docs.fileformat.com/spreadsheet/csv/) [4]: https://blog.groupdocs.com/pl/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/pl/assembly/generate-reports-from-json-data-in-csharp/ [22]: https://blog.groupdocs.com/pl/assembly/generate-reports-from-csv-data-in-java/