728x90
반응형
JasperReports에 데이터를 삽입하는 방법
1. Parameter
Parameter:
외부에서 값을 전달받아 사용할 수 있는 변수로 동적으로 값을 생성하거나 보고서의 동작을 제어하는 데 사용된다.
<Design>
<Source>
<!-- 1. parameter 정의:-->
<parameter name="ReportTitle" class="java.lang.String"/>
<!-- 2. parameter 사용:-->
<textField>
<reportElement x="0" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$P{ReportTitle}]]></textFieldExpression>
</textField>
// 3. java) parameter 전달:
Map<String, Object> parameters = new HashMap<>();
parameters.put("ReportTitle", "Sales Report");
JasperPrint jasperPrint = JasperFillManager.fillReport("YourReport.jasper", parameters, dataSource);
2. Variable
Variable:
데이터를 계산하고 저장하기 위한 요소로 이를 통해 보고서에서 다양한 계산을 수행할 수 있다.
<Design>
<Source>
<!-- 1. variable 정의:-->
<variable name="TotalSales" class="java.lang.Double" calculation="Sum">
<variableExpression><![CDATA[$F{SaleAmount}]]></variableExpression>
</variable>
<!-- 2. variable 사용:-->
<textField>
<reportElement x="0" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$V{TotalSales}]]></textFieldExpression>
</textField>
// 3. java) variable 사용:
Double totalSales = (Double) jasperPrint.getVariablesMap().get("TotalSales").getValue();
3. Dataset
Dataset:
보고서에 표시할 데이터를 정의하고 제공하며, 데이터 소스에서 가져온 데이터를 JasperReports 엔진이 이해할 수 있는 형식으로 변환하는 역할을 한다.
<Design>
<Source>
<!-- 1. Dataset 정의 및 구성:-->
<subDataset name="SampleDataset">
<field name="ProductID" class="java.lang.Integer"/>
<field name="ProductName" class="java.lang.String"/>
<!-- 필요한 데이터 필드들을 정의 -->
</subDataset>
<!-- 2. table(chart)에 적용:-->
<componentElement>
<reportElement x="0" y="0" width="550" height="20"/>
<jr:table>
<datasetRun subDataset="SampleDataset"uuid="aa05ad38">
<dataSourceExpression><![CDATA[$P{dsSummaryBySystem}]]>
</dataSourceExpression>
</datasetRun>
<!-- 이하에는 테이블의 컬럼 및 디자인이 정의된다. -->
</jr:table>
</componentElement>
// 3. java) variable 사용:
JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(myList);
parameters.put("SampleDataset", dataSource);
Style Setting
Style:
스타일을 지정하여 보고서 요소들의 모양을 변경할 수 있다. (font, color, border 등)
- style를 적용하는 방법은 html에 css를 적용하는 방법과 매우 유사하다.
1. Style 정의:
<style name="TitleStyle" fontName="Arial_Bold" fontSize="18" isBold="true" forecolor="#333333"/>
2. Style 적용:
<textField>
<reportElement x="0" y="0" width="100" height="20"/>
<textElement style="TitleStyle"/>
<textFieldExpression><![CDATA["Title"]]></textFieldExpression>
</textField>
3. Style 적용 - Table:
<style name="Table 4_TH" mode="Opaque" backcolor="#F0F8FF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<jr:tableFooter style="TestStyle" height="30" rowSpan="1">
<jr:columnHeader style="TestStyle" height="30">
<jr:detailCell style="TestStyle" height="30">
728x90
반응형
'📚Framework & Library > JasperReports' 카테고리의 다른 글
[JasperReports] 05. Java) JasperPrint Export. 보고서 출력 (0) | 2023.10.20 |
---|---|
[JasperReports] 03. Elements 구성요소 (0) | 2023.10.19 |
[JasperReports] 02. Report Design / Source (0) | 2023.10.19 |
[JasperReports] 01. Jaspersoft Studio 설치 및 세팅 (4) | 2023.10.19 |
[JasperReports] JasperReports란? (feat. Jaspersoft Studio) (0) | 2023.10.19 |