Java의 Excel 데이터에서 보고서 생성

고객, 이해 관계자 등과 같은 사용자에게 맞춤형 보고서 형식으로 Microsoft Excel 데이터를 제공할 수 있습니다. Java 개발자는 Excel 스프레드시트를 데이터 테이블로 사용하여 프로그래밍 방식으로 이러한 보고서를 생성할 수 있습니다. 이 기사에서는 Java를 사용하여 Excel 데이터에서 보고서를 생성하는 방법을 배웁니다.

이 문서에서는 다음 주제를 논의/다룹니다.

보고서 생성을 위한 Java API

Excel 데이터에서 보고서를 생성하기 위해 GroupDocs.Assembly for Java API를 사용합니다. 이를 통해 강력한 문서 자동화 및 보고서 생성 애플리케이션을 구축할 수 있습니다. 정의된 템플릿 문서에 따라 데이터 소스에서 데이터를 가져와서 조합하고 지정된 출력 형식으로 보고서를 생성합니다. API는 XML, Excel, JSON 및 CSV와 같은 다양한 데이터 소스에서 데이터 가져오기를 지원합니다. PDF, HTML 및 Microsoft Word와 같이 일반적으로 사용되는 모든 파일 형식으로 보고서를 쉽게 생성할 수 있습니다.

API의 JAR을 다운로드하거나 Maven 기반 Java 애플리케이션에 다음 pom.xml 구성을 추가하여 아래에 언급된 코드 예제를 시도할 수 있습니다.

<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>

Java를 사용하여 Excel 데이터에서 보고서 생성

아래에 언급된 간단한 단계에 따라 Excel 데이터에서 Word로 보고서를 쉽게 생성할 수 있습니다.

  1. [Excel 데이터 원본] 가져오기(#get-excel-data)
  2. 엑셀 데이터에 따라 템플릿 정의
  3. Java에서 Excel 데이터를 Word 보고서로 변환

엑셀 데이터 소스

표 형식의 데이터를 Excel 스프레드시트에 제공된 데이터 소스로 사용하여 보고서를 생성할 수 있습니다. 보고서 생성을 위해 다음 샘플 Excel 데이터를 사용하겠습니다. 이것은 각각의 관리자와 고객의 계약 데이터 및 합의된 계약 가격입니다.

엑셀 데이터 소스

엑셀 데이터 소스

주형

Linq 기반 템플릿 구문을 사용하여 템플릿을 만들 수 있습니다. 템플릿은 템플릿의 구조와 데이터 바인딩을 설명하는 공통 문서 내용과 태그로 구성됩니다. DOCX 또는 XLSX 파일에서 다음 템플릿을 정의할 수 있습니다. 이 템플릿을 사용하면 계약 가격으로 계약 데이터 및 해당 관리자를 반복할 수 있습니다. 템플릿의 각 그룹에는 입력 선택기에 의해 정의된 고유 키가 있으며 이 키와 연결된 소스 열거 항목이 포함됩니다. Key 속성을 사용하여 그룹 인스턴스의 키에 액세스할 수 있습니다. 템플릿을 만든 후에는 보고서 생성을 위한 코드로 이동할 수 있습니다. 문서에서 템플릿 구문에 대해 자세히 알아볼 수 있습니다.

보고서 템플릿

보고서 템플릿

Java에서 Excel 데이터를 Word 보고서로 변환

아래에 언급된 단계에 따라 템플릿을 기반으로 Excel 데이터를 DOCX 보고서로 자동 변환할 수 있습니다.

다음 코드 샘플은 Java를 사용하여 정의된 템플릿에 따라 Excel 데이터 소스에서 보고서를 생성하는 방법을 보여줍니다.

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

// 첫 번째 행에서 열 이름 추출을 설정합니다.
DocumentTableOptions options = new DocumentTableOptions();
options.setFirstRowContainsColumnNames(true);

// 문서 테이블 생성
DocumentTable table = new DocumentTable(dataFilePath, 0, options);

// 문서 어셈블러 만들기
DocumentAssembler assembler = new DocumentAssembler();

// 데이터 수집 및 보고서 생성
assembler.assembleDocument(srcDocument,docReport, 
  new DataSourceInfo(new DataStorage(), null),
  new DataSourceInfo(table,"ds"));
생성된 보고서

생성된 보고서

DocumentTableOptions 클래스는 문서 테이블에서 데이터 추출을 제어하는 옵션 세트를 제공합니다. 열 머리글이 보고서 데이터의 일부가 되지 않도록 FirstRowContainsColumnNames 속성을 true로 설정했습니다.

DocumentTable 클래스는 문서를 조합하는 동안 사용할 외부 문서에 있는 단일 테이블(또는 스프레드시트)의 데이터에 대한 액세스를 제공합니다.

DocumentAssembler 클래스는 데이터와 함께 정의된 템플릿 문서를 사용하여 보고서를 생성하는 다양한 방법을 제공합니다. 이 클래스의 assembleDocument() 메서드는 소스 문서로 정의된 템플릿, 출력 파일 경로 및 데이터 소스의 세 가지 입력 매개변수를 사용합니다. 제공된 템플릿 문서를 기반으로 데이터 소스의 데이터를 채우고 결과 문서를 대상 경로에 저장합니다. 결과 문서를 Word, Excel 또는 HTML과 같은 지원되는 다양한 파일 형식으로 저장할 수 있습니다.

무료 라이선스 받기

임시 무료 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.

결론

이 기사에서는 Java를 사용하여 Excel 데이터에서 보고서를 생성하는 방법을 배웠습니다. 보고서를 생성하기 위해 보고서 템플릿을 만드는 방법도 배웠습니다. 문서를 사용하여 Java API용 GroupDocs.Assembly에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.

또한보십시오