Generuj raporty z danych Excel w Javie

Możesz prezentować dane Microsoft Excel w formie niestandardowych raportów swoim użytkownikom, takim jak klienci, interesariusze itp. Jako programista Java możesz generować takie raporty programowo, używając arkuszy kalkulacyjnych Excel jako tabeli danych. W tym artykule dowiesz się, jak generować raporty z danych Excel przy użyciu języka Java.

W tym artykule omówiono/omówiono następujące tematy:

API Java do generowania raportów

Do generowania raportów z danych Excel będę korzystał z API GroupDocs.Assembly for Java. Umożliwia tworzenie wydajnych aplikacji do automatyzacji dokumentów i generowania raportów. Pobiera dane ze źródła danych zgodnie ze zdefiniowanym dokumentem szablonowym, składa je i generuje raporty w określonym formacie wyjściowym. Interfejs API obsługuje pobieranie danych z różnych źródeł danych, takich jak XML, Excel, JSON i CSV. Możesz łatwo generować raporty we wszystkich powszechnie używanych formatach plików, takich jak PDF, HTML i Microsoft Word.

Możesz pobrać plik JAR interfejsu API lub po prostu dodać następującą konfigurację pom.xml do swojej aplikacji Java opartej na Maven, aby wypróbować poniższe przykłady kodu.

<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.7</version> 
</dependency>

Generuj raporty z danych Excel przy użyciu języka Java

Możesz łatwo generować raporty w programie Word na podstawie danych Excel, wykonując proste kroki wymienione poniżej:

  1. Pobierz źródło danych programu Excel
  2. Zdefiniuj szablon zgodnie z danymi Excel
  3. Konwertuj dane programu Excel na raport programu Word w Javie

Źródło danych Excela

Możesz używać danych tabelarycznych jako źródła danych w arkuszu kalkulacyjnym Excel do generowania raportów. Do wygenerowania raportu użyję następujących przykładowych danych Excel. Są to dane umów klientów z ich menedżerami oraz ustalona cena kontraktu.

Źródło danych Excela

Źródło danych Excela

Szablon

Aby utworzyć szablon, możesz użyć składni szablonu opartej na Linq. Szablon składa się ze wspólnej zawartości dokumentu i znaczników opisujących strukturę szablonu oraz powiązania danych. Możesz zdefiniować następujący szablon w pliku DOCX lub XLSX. Ten szablon umożliwia iterację danych umów i ich odpowiednich menedżerów za pomocą ceny kontraktu. Każda grupa w szablonie ma unikalny klucz zdefiniowany przez selektor wejścia i zawiera elementy wyliczenia źródłowego powiązane z tym kluczem. Dostęp do klucza instancji grupy można uzyskać za pomocą właściwości Key. Po utworzeniu szablonu możesz przejść do kodu w celu wygenerowania raportu. Więcej informacji na temat składni szablonu można znaleźć w dokumentacji.

Szablon raportu

Szablon raportu

Konwertuj dane programu Excel na raport programu Word w Javie

Możesz zautomatyzować konwersję danych Excel do raportu DOCX na podstawie szablonu, wykonując poniższe kroki:

Poniższy przykładowy kod pokazuje, jak wygenerować raport ze źródła danych Excel zgodnie ze zdefiniowanym szablonem przy użyciu języka Java.

String srcDocument = "C:\\Files\\template.docx";
String docReport = "C:\\Files\\Output.docx";
String dataFilePath = "C:\\Files\\Contracts_Data.xlsx";

// Ustaw wyodrębnianie nazw kolumn z pierwszego wiersza.
DocumentTableOptions options = new DocumentTableOptions();
options.setFirstRowContainsColumnNames(true);

// Utwórz tabelę dokumentów
DocumentTable table = new DocumentTable(dataFilePath, 0, options);

// Utwórz asembler dokumentów
DocumentAssembler assembler = new DocumentAssembler();

// Zbierz dane i wygeneruj raport
assembler.assembleDocument(srcDocument,docReport, 
  new DataSourceInfo(new DataStorage(), null),
  new DataSourceInfo(table,"ds"));
Wygenerowany raport

Wygenerowany raport

Klasa DocumentTableOptions udostępnia zestaw opcji sterujących wyodrębnianiem danych z tabeli dokumentów. Ustawiłem właściwość FirstRowContainsColumnNames na true, aby nagłówki kolumn nie stały się częścią danych raportu.

Klasa DocumentTable zapewnia dostęp do danych pojedynczej tabeli (lub arkusza kalkulacyjnego) znajdującej się w dokumencie zewnętrznym w celu wykorzystania ich podczas składania dokumentu.

Klasa DocumentAssembler udostępnia różne metody generowania raportów przy użyciu zdefiniowanego szablonu dokumentu z danymi. Metoda assembleDocument() tej klasy przyjmuje trzy parametry wejściowe, zdefiniowany szablon jako dokument źródłowy, ścieżkę pliku wyjściowego i źródło danych. Wypełnia dane ze źródła danych na podstawie dostarczonego dokumentu szablonu i zapisuje wynikowy dokument w ścieżce docelowej. Powstały dokument można zapisać w różnych obsługiwanych formatach plików, takich jak Word, Excel lub HTML.

Zdobądź bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się generować raporty z danych Excela przy użyciu języka Java. Nauczyłeś się także, jak utworzyć szablon raportu w celu generowania raportów. Więcej informacji na temat GroupDocs.Assembly for Java API można znaleźć w dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też