Jasper 서식 PDF 출력 비망 메모 ~ 여러 목록에 의한 서식 출력 ~
11118 단어 자바JasperReports
이전의 서표 PDF 출력에서는,
JRBeanCollectionDataSource
내용을 비망 메모로 남긴다.기본적으로는 여기에 기재되어 있는 내용과 같다.
또, 코드의 실장예등은 대폭 생략하고 있으므로 세세한 것은 전회의 기사를 참조하는 것
Jasper 측 구현
1. 데이터 세트/파라미터 생성
Outline
에서 오른쪽 클릭을 선택하고 Create Dataset
Outline
위에서 만든 Dataset1
가 표시되므로 Dataset1
의 Fields
를 마우스 오른쪽 버튼으로 클릭하고 Create Field
를 선택하여 필드를 만듭니다.그런 다음
Outline
에서 Parameters
를 선택하여 매개 변수를 추가합니다.설정 값은 다음과 같습니다.
XML에서는 아래와 같은 설정이 된다.
<!-- データセット定義 -->
<subDataset name="Dataset1">
<field name="name" class="java.lang.String"/>
<field name="parameter" class="java.lang.String"/>
</subDataset>
<!-- パラメータ定義 -->
<parameter name="datasource1" class="java.util.List"/>
2. List 만들기
Palette
로부터 List
를 선택해, 데이터 세트로서 방금 작성한 Dataset1
를 지정한다.Connection에서는 「Use a JRDatasource expression」을 선택해, 하기 설정을 지정한다.
$P{datasource1}
에는 위에서 작성한 파라미터명을 지정하는 것.new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{datasource1})
List fields에서
Dataset1
의 필드를 선택합니다.List 작성 후, 아래 그림의
List
를 선택하면 리스트부의 편집 화면이 표시되는 문자 폭이나 폰트 등 세세한 설정을 실시한다.이상의 작업을 행한 경우, XML에서는 이하의 설정이 된다.
<componentElement>
<reportElement x="261" y="65" width="100" height="30" uuid="46944fc3-2ae0-4385-9dc2-8f347b76c260"/>
<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<datasetRun subDataset="Dataset1" uuid="53aa30da-b1f7-4221-b76c-a72666e1a6f9">
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{datasource1})]]></dataSourceExpression>
</datasetRun>
<jr:listContents height="30" width="100">
<textField>
<reportElement x="0" y="0" width="50" height="30" uuid="ac884e55-7578-4e95-aea3-955a56ee00aa"/>
<textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="50" y="0" width="50" height="30" uuid="5e8b1136-3781-41e0-bfdc-7e32fed0e30c"/>
<textFieldExpression><![CDATA[$F{parameter}]]></textFieldExpression>
</textField>
</jr:listContents>
</jr:list>
</componentElement>
Java 측 구현
새로운 리스트 항목으로서 하기 Entity 클래스를 준비한다.
Entiry.java@Getter
@Setter
public class Entity{
private String name;
private String parameter;
}
서식 출력 처리로서 다음을 구현한다.
//Entityクラスのリストを準備
List<Entity> entityList= new ArrayList<>();
Entity entity01 = new Entity();
entity01.setName("Test User01");
entity01.setParameter("Parameter01");
entityList.add(entity01);
Entity entity02 = new Entity();
entity02.setName("Test User02");
entity02.setParameter("Parameter02");
entityList.add(entity02);
//parameterMapの作成
HashMap<String, Object> parameterMap = new HashMap<String, Object>();
parameterMap.put("datasource1", entityList);
//前回同様JasperFillManagerでparameterMapを渡す
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameterMap, jrBeanCollectionDataSource);
JasperExportManager.exportReportToPdfFile(jasperPrint, "jasper.pdf");
출력 결과
이들 설정 후, PDF 출력을 실행 한 결과가 아래 그림입니다.
Reference
이 문제에 관하여(Jasper 서식 PDF 출력 비망 메모 ~ 여러 목록에 의한 서식 출력 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuuman/items/6309428dc3dc1380ac3b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
@Getter
@Setter
public class Entity{
private String name;
private String parameter;
}
//Entityクラスのリストを準備
List<Entity> entityList= new ArrayList<>();
Entity entity01 = new Entity();
entity01.setName("Test User01");
entity01.setParameter("Parameter01");
entityList.add(entity01);
Entity entity02 = new Entity();
entity02.setName("Test User02");
entity02.setParameter("Parameter02");
entityList.add(entity02);
//parameterMapの作成
HashMap<String, Object> parameterMap = new HashMap<String, Object>();
parameterMap.put("datasource1", entityList);
//前回同様JasperFillManagerでparameterMapを渡す
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameterMap, jrBeanCollectionDataSource);
JasperExportManager.exportReportToPdfFile(jasperPrint, "jasper.pdf");
이들 설정 후, PDF 출력을 실행 한 결과가 아래 그림입니다.
Reference
이 문제에 관하여(Jasper 서식 PDF 출력 비망 메모 ~ 여러 목록에 의한 서식 출력 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuuman/items/6309428dc3dc1380ac3b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)