Jasper Report Engine is an open-sourced tool. You can define jrxml template by iReport designer.
Java Code:
JasperReport jasperReport = JasperCompileManager.compileReport("D:/test.jrxml");
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("htmlContent", getTestString());
JasperPrint jasperPrint = JasperFillManager.
fillReport(jasperReport, parameters,new JREmptyDataSource());
JasperExportManager.exportReportToPdfFile(jasperPrint,"D:/test.pdf");
Jrxml:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="TEMIP0006" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<parameter name="minutesContent" class="java.lang.String"/>
<pageHeader>
<band height="61" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="false">
<reportElement x="37" y="0" width="383" height="42"/>
<textElement lineSpacing="Single">
<font fontName="Arial" size="12"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA["page header"]]></textFieldExpression>
</textField>
</band>
</pageHeader>
<columnHeader>
<band height="61" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="false">
<reportElement x="37" y="0" width="383" height="42"/>
<textElement lineSpacing="Single">
<font fontName="Arial" size="12"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA["column header"]]></textFieldExpression>
</textField>
</band>
</columnHeader>
<detail>
<band height="540">
<textField isStretchWithOverflow="true" evaluationTime="Now" pattern="" isBlankWhenNull="true">
<reportElement key="element-1" mode="Opaque" x="68" y="0" width="487" height="500" isPrintWhenDetailOverflows="true" forecolor="#0FFF00" backcolor="#FFFFFF"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" lineSpacing="Single" markup="html">
<font fontName="Arial" size="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Helvetica" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA["<html>" +
"<body>" +
(($P{htmlContent} != null) ? String.valueOf($P{htmlContent}) : "") +
"</body>" +
"</html>"]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="40" y="0" width="11" height="15"/>
<textElement textAlignment="Right"/>
<text><![CDATA[:]]></text>
</staticText>
<staticText>
<reportElement stretchType="RelativeToBandHeight" x="0" y="0" width="42" height="15"/>
<textElement>
<font fontName="Arial"/>
</textElement>
<text><![CDATA[Content]]></text>
</staticText>
</band>
</detail>
<columnFooter>
<band height="61" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="false">
<reportElement x="37" y="0" width="383" height="42"/>
<textElement lineSpacing="Single">
<font fontName="Arial" size="12"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA["column footer"]]></textFieldExpression>
</textField>
</band>
</columnFooter>
<pageFooter>
<band height="61" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="false">
<reportElement x="37" y="0" width="383" height="42"/>
<textElement lineSpacing="Single">
<font fontName="Arial" size="12"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA["page footer"]]></textFieldExpression>
</textField>
</band>
</pageFooter>
<summary>
<band height="61" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="false">
<reportElement x="37" y="0" width="383" height="42"/>
<textElement lineSpacing="Single">
<font fontName="Arial" size="12"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA["summary"]]></textFieldExpression>
</textField>
</band>
</summary>
</jasperReport>
分享到:
相关推荐
Jasper Report用户手册 version1.0 1 简介 2 API概览 Class net.sf.jasper.engine.design.JasperDesign Class net.sf.jasper.engine.JasperReport Class net.sf.jasper.engine.JasperCompileManager Class ...
这份《Jasper Report用户手册》详尽地介绍了如何使用JasperReport进行报表的设计、编译、预览、填充、查看、打印以及导出等操作。 首先,手册简要介绍了JasperReport的基本概念,包括API概览。API中涉及的主要类和...
### Jasper Report 用户手册知识点概述 #### 一、简介 Jasper Reports是一款开源的报表工具,由Jaspersoft公司开发并维护。它能够帮助开发者轻松地将数据转化为专业的报表格式,并支持多种输出方式,如PDF、HTML、...
MYSQL serves as the database, and the integration of Jasper report engine's processing of report template files is analyzed, leading to the design and realization of system integration, user role ...
编译时,可以通过设置系统属性`jasper.reports.compile.class.path`和`jasper.reports.compile.temp`来定制类路径和临时目录。 填充阶段,使用`JasperFillManager`类的`fillReportXXX()`方法,结合JDBC链接从数据库...
JasperCompileManager.compileReportToFile("path/to/your/report.jrxml", "path/to/compiled/report.jasper"); // 创建数据源 Map, Object> parameters = new HashMap(); // 在这里添加你的参数 // 填充报表...
在JasperReport API中,可以使用`net.sf.jasperreports.engine.type.EmbeddedFontEnum`来指定是否嵌入字体。 3. **配置文件**: - 包内的“config”文件可能是用于存储全局字体配置的XML文件,例如`jasperreports_...
解决jasperreport在linux系统无法正常显示宋体的问题。...java报表抛出net.sf.jasperreports.engine.util.JRFontNotFoundException: Font '宋体' is not available to the JVM. See the Javadoc for more details.
在IT行业中,报表生成是数据分析和业务展示的重要环节,JasperReport作为一个强大的开源报表工具,被广泛应用在Java项目中。本篇文章将详细讲解如何利用JasperReport实现动态表头和多表分页,并通过subreport来达到...
9. **报表编译器**:jasperreports-compiler-5.6.0.jar是JasperReport的编译器,它将JRXML报表设计文件转换为可执行的.jasper文件,这个过程是报表生成的必要步骤。 10. **报表引擎**:jasperreports-engine-5.6.0....
File reportFile = new File(path + java.io.File.separator + "jasper" + java.io.File.separator + ls_reportname + ".jasper"); if (!reportFile.exists()) { throw new JRRuntimeException("File " + report...
File jasperFile = new File("D:/Workspaces/zwjxSystem/WebRoot/jasper/report1.jasper"); // 数据库连接 String url = "jdbc:oracle:thin:@192.168.1.104:1521:orcl"; Class.forName("oracle.jdbc.driver....
这样,当视图名是`report.jrxml`时,Spring MVC会找到`/WEB-INF/reports/myreport.jasper`并执行报表生成。 4. **Controller中的代码**: 在Controller中,你需要创建一个处理报表请求的方法,如下: ```java ...
jasperReport = (JasperReport) JRLoader.loadObject(reportFile.getPath()); } catch (JRException e) { e.printStackTrace(); } // 设置响应头 resp.setContentType("application/vnd.ms-excel"); String...
String outputPath = "path/to/FirstReport.jasper"; JasperCompileManager.compileReportToFile(inputPath, outputPath); } } ``` - **注意事项**:编译后的`.jasper`文件可以进一步用于生成PDF、Excel或其他...
提供的`report1.jasper`和`report1.jrxml`文件分别是编译后的报表模板和源码,你可以用`iReport`打开它们查看具体设计和设置。`ireport`可能是指`iReport`软件本身,或者是包含一些相关资源或示例的文件夹。 总之,...
2. **编译报表**:将 .jrxml 文件编译成 JasperReport 对象(.jasper 文件)。这是运行时报表引擎可以直接处理的格式。 3. **填充报表**:在 Java 代码中,你需要创建一个 JasperPrint 对象,通过传递数据源(可能...
在API方面,`net.sf.jasper.engine.design.JasperDesign`类是未编译的报表实例,由JasperReport库解析XML设计文件后生成。如果不想直接处理XML,可以像`NoXmlDesignApp`示例那样,动态生成`JasperDesign`实例。这个...
exporter.exportReport(); ``` ### 总结 通过上述分析可以看出,iReport及其Java API提供了丰富的功能来支持报表的设计和导出工作。无论是简单的文本报表还是复杂的包含图表和图像的报表,都可以通过适当的方法来...