
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:
- Pobierz źródło danych programu Excel
- Zdefiniuj szablon zgodnie z danymi Excel
- 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
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
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:
- Zdefiniuj ścieżki pliku danych Excel, pliku szablonu i pliku raportu wyjściowego DOCX
- Utwórz instancję klasy DocumentTableOptions.
- Ustaw setFirstRowContainsColumnNames na true
- Utwórz DocumentTable ze zdefiniowanym plikiem danych Excel i opcjami DocumentTableOptions
- Utwórz instancję klasy DocumentAssembler.
- Wywołaj metodę assembleDocument() z podanymi danymi Excel i zdefiniowanym szablonem
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
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.