이 기사에서는 원시 JSON 데이터를 .NET 애플리케이션 내에서 표시 가능하고 쉽게 이해할 수 있는 보고서 형식으로 형식화하는 문제를 다룹니다. 간단한 템플릿을 사용하여 C#에서 JSON 데이터를 PDF 및 DOCX 보고서로 변환합니다.
보고서 생성을 위한 .NET API
GroupDocs.Assembly for .NET는 .NET 애플리케이션을 위한 보고서 생성 및 문서 자동화 API입니다. JSON, XML 또는 CSV와 같은 다양한 형식으로 사용 가능한 데이터와 Word 문서, **spreadsheet와 같은 다양한 형식의 템플릿에서 보고서를 생성할 수 있습니다. **, 프레젠테이션 또는 텍스트 형식. 또한 글머리 기호, 번호 매기기 목록, 차트, 표, 이미지, 바코드 등과 같은 많은 보고서 형식 지정 기능을 지원합니다.
다운로드 섹션에서 DLL 또는 MSI 설치 프로그램을 다운로드하거나 NuGet을 통해 .NET 애플리케이션에 API를 설치할 수 있습니다.
PM> Install-Package GroupDocs.Assembly
C#의 JSON 데이터에서 PDF 보고서 생성
JSON 데이터를 C#의 형식이 지정된 PDF 보고서로 변환하는 단계부터 시작하겠습니다.
- JSON 데이터 소스 가져오기
- JSON 데이터에 따른 템플릿 정의
- 보고서 생성을 위해 JSON 데이터 소스 및 템플릿을 간단한 C# 코드에 제공합니다.
JSON 데이터
첫째, 다음 샘플 JSON 데이터는 관리자와 해당 클라이언트 및 세부 정보를 보여주는 PDF 보고서 생성에 사용됩니다.
\[
{
"Name":"John Smith","Contract":\[
{"Client":{"Name":"A Company"},"Price":1200000},
{"Client":{"Name":"B Ltd."},"Price":750000},
{"Client":{"Name":"C & D"},"Price":350000}\]
},
{
"Name":"Tony Anderson","Contract":\[
{"Client":{"Name":"E Corp."},"Price":650000},
{"Client":{"Name":"F & Partners"},"Price":550000}\]
},
{
"Name":"July James","Contract":\[
{"Client":{"Name":"G & Co."},"Price":350000},
{"Client":{"Name":"H Group"},"Price":250000},
{"Client":{"Name":"I & Sons"},"Price":100000},
{"Client":{"Name":"J Ent."},"Price":100000}\]
}
\]
템플릿
둘째, TXT, DOCX 또는 필요한 형식으로 다음 템플릿을 정의합니다. 이를 통해 관리자의 데이터와 해당 클라이언트 및 세부 정보를 반복할 수 있습니다. 그런 다음 보고서 생성을 위한 코드로 이동할 수 있습니다.
<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
C# JSON을 PDF 보고서로 변환하는 단계
C# 코드의 다음 단계는 정의된 템플릿에 따라 JSON 데이터를 PDF 보고서로 자동 변환합니다.
- JSON 데이터, 템플릿 파일 및 PDF 출력 보고서 파일 경로를 정의합니다.
- JSON 데이터 파일로 JsonDataSoure를 인스턴스화합니다.
- 정의된 JsonDataSource로 DataSourceInfo을 생성합니다.
- DocumentAssembler 클래스의 _AssembleDocument 메소드를 호출하여 제공된 JSON 데이터와 정의된 템플릿에서 PDF 보고서를 생성합니다.
// GroupDocs.Assembly API와 함께 C#의 TXT 템플릿을 사용하여 JSON 데이터에서 PDF 보고서 생성
// 데이터 소스, 템플릿 및 출력 보고서 파일을 정의합니다.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.txt";
const string strDocumentReport = "reportsPath/reportFromJSON.pdf";
// JSON 데이터 소스 인스턴스화
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// 보고서 생성
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
CommonUtilities.SetDestinationDocument(strDocumentReport),
new DataSourceInfo(dataSource, "managers"));
코드는 위의 그림과 같이 PDF 보고서를 생성합니다. GitHub 저장소에서 이상 및 유사한 예제를 테스트할 수도 있습니다.
C#의 JSON 데이터에서 MS Word 보고서 생성
마찬가지로 위의 PDF 보고서를 생성하는 것과 마찬가지로 다음 단계에 따라 DOCX 보고서를 생성할 수 있습니다.
- DOCX 형식으로 동일한 템플릿을 정의합니다.
- 출력 보고서 문서 형식을 DOCX로 설정합니다.
- 나머지 코드는 JSON 데이터에서 MS Word DOCX 보고서를 생성하기 위해 동일하게 유지됩니다.
// GroupDocs.Assembly API와 함께 C#에서 DOCX 템플릿을 사용하여 JSON 데이터에서 Word 보고서 생성
// 데이터 소스, 템플릿 및 출력 보고서 파일을 정의합니다.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.docx";
const string strDocumentReport = "reportsPath/reportFromJSON.docx";
// JSON 데이터 소스 인스턴스화
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// 보고서 생성
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
CommonUtilities.SetDestinationDocument(strDocumentReport),
new DataSourceInfo(dataSource, "managers"));
자세한 내용, 옵션 및 예제를 보려면 문서 및 GitHub 저장소를 방문하십시오. 추가 질문은 포럼의 무료 지원에 문의하십시오.
결론
이 기사에서는 C#을 사용하여 .NET 애플리케이션 내에서 JSON 데이터를 PDF 보고서로 변환하는 방법을 배웠습니다. 또한 CSV 및 XML과 같은 다른 데이터 소스를 사용하여 DOCX와 같은 다른 형식으로 보고서를 생성할 수 있습니다. 보고서 생성기 .NET 응용 프로그램 구축을 시작하는 데 편안함을 느끼시기 바랍니다.