Wartości oddzielone przecinkami(CSV) to format pliku do przechowywania danych w postaci zwykłego tekstu, w którym wartości są oddzielone przecinkami. CSV jest szeroko stosowany do wymiany danych między aplikacjami. Jako programiści często musimy konwertować duże dane CSV do formatu umożliwiającego prezentację. Ten artykuł poprowadzi Cię do konwersji danych CSV na raporty PDF i MS Word w Javie przy użyciu prostego szablonu.

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

Interfejs API Java do generowania raportów

GroupDocs.Assembly for Java to interfejs API do generowania raportów, którego użyłem w tym artykule do generowania raportów z wybranych danych CSV i szablonu w formacie TXT. Obsługuje również automatyzację generowania raportów z wielu źródeł danych, takich jak JSON, XML, a także z plików MS Word, Excel i PowerPoint jako plików danych.

Pobierz lub skonfiguruj

Możesz pobrać plik JAR z sekcji pobierania lub po prostu pobrać repozytorium i konfiguracje zależności dla pliku pom.xml aplikacji Java opartych na Maven.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-assembly</artifactId>
        <version>21.4</version> 
</dependency>

Wygeneruj raport PDF z danych CSV w Javie

Zacznijmy od przekształcenia danych w prezentowalny PDF. Poniższe kroki doprowadzą Cię do konwersji danych 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 Javie

Dane CSV

Do wygenerowania raportu w formacie PDF użyję następujących przykładowych danych CSV różnych osób wraz z ich wiekiem i datą 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

Zdefiniuj następujący szablon w formacie TXT lub DOCX. Pozwala to na iterację listy osób wraz z ich danymi. Następnie możesz przejść do kodu generowania raportu.

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

Kroki Java, aby wygenerować raport PDF z pliku CSV

Poniższe kroki wyjaśniają automatyczną konwersję danych CSV do raportu PDF zgodnie ze zdefiniowanym szablonem.

  • Zdefiniuj ścieżki pliku danych CSV, pliku szablonu .txt i pliku raportu wyjściowego PDF.
  • Utwórz instancję CsvDataSoure z plikiem danych CSV.
  • Utwórz DataSourceInfo ze zdefiniowanym CsvDataSource.
  • Wywołaj metodę assembleDocument klasy DocumentAssembler, aby uzyskać wygenerowany raport PDF.

Poniższy kod pokazuje, jak przekonwertować dane CSV na raport PDF w Javie.

// Generuj raport PDF z danych CSV przy użyciu szablonu TXT w Javie z GroupDocs.Assembly API
// Zdefiniuj źródło danych, szablon i pliki raportów wyjściowych.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.pdf";

// Laod CSV Źródło danych
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");

// Generuj raport
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Wygeneruj raport MS Word z danych CSV w Javie

Jest bardzo podobny do powyższego generowania raportów PDF, możesz łatwo utworzyć raport MS Word 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.
  • Reszta kodu pozostanie taka sama, aby wygenerować raport MS Word DOCX z danych CSV.

Poniższy kod pokazuje, jak przekonwertować dane CSV na raport DOCX w Javie.

// Generuj raport Word z danych CSV przy użyciu szablonu TXT w Javie z GroupDocs.Assembly API
// Zdefiniuj źródło danych, szablon i pliki raportów wyjściowych.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.docx";

// Załaduj źródło danych CSV
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");

// Generuj raport
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Uzyskaj bezpłatną licencję API

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

Wniosek

Podsumowując, nauczyłeś się konwertować dane CSV na raporty PDF i MS Word w Javie. Mam nadzieję, że czujesz się teraz komfortowo, budując własną aplikację opartą na Javie do generowania raportów poprzez konwersję danych CSV do formatu PDF. Podobnie możesz generować raporty przy użyciu źródeł danych, takich jak JSON i XML.

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

Zobacz też