`
阅读更多
iReport画出来的报表可以满足我们大部分的需要,所以采用iReport 编辑jrxml文件是我们的首选啦!当然掌握jrxml文件的结构也是必须的。
        采用JDBC数据源必须有数据库支持啊!我们新建一个test表,其中有pid、name、sex、password、department、age字段,为了方便期间我们定义这些字段全部为String类型。
        在iReport中新建一报表,报表有title、pageHeader、columnHeader、detail、columnFooter、pageFooter、lastPageFooter、summary等部分,被成为Report section

title:顾名思义是指报表的标题哦,它会显示在报表的最上面,如果有多页只会出现在第一页的最上面。pageHeader:每页的标题,如果有多页每页的开始都会显示此部分内容。
columnHeader:显示报表的列头不经常使用。
detail:这个就不用说了吧!
有header就会出现footer啦!lastPageFooter只会出现在最后一页。summay会出现在每一页数据上,主要是为了展示一些统计信息,比如当前的时间,页数信息啦!

新建一parameter

此参数可作为报表的标题使用,我们在程序中动态的传递给报表。
    document structure---》parameter里找到reportTitle参数拖至title区域,右击编辑reportTitle域的属性,在font选项里找到Markup设置为HTML,TextField选项里设置Text Field Expreesion为
"<font color='blue' size='5'>"+$P{reportTitle}+"</font>"
下来就是设置报表的Field字段了,不需要我们一个个的新建那些字段啦!
选择Data--->Report Query在Report Query选项里选择Query Language为SQL,写入SqL语句
select * from test order by pid DESC
这时所有的field会出现在下面(SQL是正确的)
关闭对话框在document structure---》field中就会出现我们需要的field,之后拖到相应的位置,关于怎么美化报表这个本人也不是很懂哦!
如果需要显示一下当前的页数信息也可以自己托动Variables里的PAGE_NUMBER完成页数的显示。完整的jrxml文件如下:
<?xml version="1.0" encoding="UTF-8"  ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
         
name="Person"
         columnCount
="1"
         printOrder
="Vertical"
         orientation
="Portrait"
         pageWidth
="595"
         pageHeight
="842"
         columnWidth
="535"
         columnSpacing
="0"
         leftMargin
="30"
         rightMargin
="30"
         topMargin
="20"
         bottomMargin
="20"
         whenNoDataType
="NoPages"
         isTitleNewPage
="false"
         isSummaryNewPage
="false">
    
<property name="ireport.scriptlethandling" value="0" />
    
<property name="ireport.encoding" value="UTF-8" />
    
<import value="java.util.*" />
    
<import value="net.sf.jasperreports.engine.*" />
    
<import value="net.sf.jasperreports.engine.data.*" />

    
<parameter name="reportTitle" isForPrompting="true" class="java.lang.String"/>
    
<queryString><![CDATA[select * from test order by pid DESC]]></queryString>

    
<field name="pid" class="java.lang.String"/>
    
<field name="name" class="java.lang.String"/>
    
<field name="sex" class="java.lang.String"/>
    
<field name="password" class="java.lang.String"/>
    
<field name="department" class="java.lang.String"/>
    
<field name="age" class="java.lang.String"/>

        
<background>
            
<band height="6"  isSplitAllowed="true" >
            
</band>
        
</background>
        
<title>
            
<band height="29"  isSplitAllowed="true" >
                
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
                    
<reportElement
                        
x="138"
                        y
="0"
                        width
="258"
                        height
="29"
                        key
="textField"/>
                    
<box></box>
                    
<textElement textAlignment="Center" verticalAlignment="Middle" markup="html">
                        
<font pdfFontName="Helvetica-Bold" isBold="true"/>
                    
</textElement>
                
<textFieldExpression   class="java.lang.String"><![CDATA["<font color='blue' size='5'>"+$P{reportTitle}+"</font>"]]></textFieldExpression>
                
</textField>
            
</band>
        
</title>
        
<pageHeader>
            
<band height="0"  isSplitAllowed="true" >
            
</band>
        
</pageHeader>
        
<columnHeader>
            
<band height="0"  isSplitAllowed="true" >
            
</band>
        
</columnHeader>
        
<detail>
            
<band height="22"  isSplitAllowed="true" >
                
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
                    
<reportElement
                        
x="0"
                        y
="0"
                        width
="100"
                        height
="18"
                        key
="textField"/>
                    
<box></box>
                    
<textElement verticalAlignment="Top">
                        
<font/>
                    
</textElement>
                
<textFieldExpression   class="java.lang.String"><![CDATA[$F{pid}]]></textFieldExpression>
                
</textField>
                
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
                    
<reportElement
                        
x="100"
                        y
="0"
                        width
="93"
                        height
="18"
                        key
="textField"/>
                    
<box></box>
                    
<textElement verticalAlignment="Top">
                        
<font/>
                    
</textElement>
                
<textFieldExpression   class="java.lang.String"><![CDATA[$F{name}]]></textFieldExpression>
                
</textField>
                
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
                    
<reportElement
                        
x="193"
                        y
="0"
                        width
="58"
                        height
="18"
                        key
="textField"/>
                    
<box></box>
                    
<textElement verticalAlignment="Top">
                        
<font/>
                    
</textElement>
                
<textFieldExpression   class="java.lang.String"><![CDATA[$F{sex}]]></textFieldExpression>
                
</textField>
                
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
                    
<reportElement
                        
x="251"
                        y
="0"
                        width
="100"
                        height
="18"
                        key
="textField"/>
                    
<box></box>
                    
<textElement verticalAlignment="Top">
                        
<font/>
                    
</textElement>
                
<textFieldExpression   class="java.lang.String"><![CDATA[$F{password}]]></textFieldExpression>
                
</textField>
                
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
                    
<reportElement
                        
x="351"
                        y
="0"
                        width
="100"
                        height
="18"
                        key
="textField"/>
                    
<box></box>
                    
<textElement verticalAlignment="Top">
                        
<font/>
                    
</textElement>
                
<textFieldExpression   class="java.lang.String"><![CDATA[$F{department}]]></textFieldExpression>
                
</textField>
                
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
                    
<reportElement
                        
x="451"
                        y
="0"
                        width
="84"
                        height
="18"
                        key
="textField"/>
                    
<box></box>
                    
<textElement verticalAlignment="Top">
                        
<font/>
                    
</textElement>
                
<textFieldExpression   class="java.lang.String"><![CDATA[$F{age}]]></textFieldExpression>
                
</textField>
                
<line direction="TopDown">
                    
<reportElement
                        
x="0"
                        y
="17"
                        width
="535"
                        height
="1"
                        key
="line-1"/>
                    
<graphicElement stretchType="NoStretch"/>
                
</line>
            
</band>
        
</detail>
        
<columnFooter>
            
<band height="0"  isSplitAllowed="true" >
            
</band>
        
</columnFooter>
        
<pageFooter>
            
<band height="24"  isSplitAllowed="true" >
                
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
                    
<reportElement
                        
x="387"
                        y
="5"
                        width
="22"
                        height
="18"
                        key
="textField"/>
                    
<box></box>
                    
<textElement textAlignment="Center" verticalAlignment="Middle">
                        
<font/>
                    
</textElement>
                
<textFieldExpression   class="java.lang.Integer"><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
                
</textField>
                
<staticText>
                    
<reportElement
                        
x="373"
                        y
="5"
                        width
="14"
                        height
="17"
                        key
="staticText-2"/>
                    
<box></box>
                    
<textElement textAlignment="Center" verticalAlignmentcolor: #000
分享到:
评论

相关推荐

    ireport+jasperreport联合开发java报表(PDF).rar

    jasperreport则是ireport的后端引擎,它负责解析ireport设计的模板,并根据数据源填充内容,生成最终的报表文件。jasperreport支持多种输出格式,包括PDF、HTML、XLS、CSV等,这使得报表可以适应不同的应用场景,如...

    ireport+jasperreport API

    1. 数据源设置:ireport支持多种数据源,包括JDBC、XML、CSV等,使报表可以连接各种数据库获取数据。 2. 报表设计:掌握表格、图表、文本框等元素的使用,以及样式和样式的自定义,能构建出丰富的报表界面。 3. 导出...

    ireport+jasperReport+Swing总结.doc

    - **创建数据源**:根据实际需求选择合适的数据源类型(如 JDBC 连接、Excel 文件或 JavaBeans)。 - **创建文件**:在 ireport 中创建新的报表文件,并定义其结构。 - **编译**:编译报表模板生成 .jasper 文件。 ...

    iReport+JasperReport教材两本以及demo

    JasperReport则是报表引擎,它负责解析由iReport或其他设计工具生成的JRXML文件,并根据指定的数据源生成最终的报表。JasperReport支持多种输出格式,包括PDF、HTML、Excel、CSV等,满足了不同应用场景的需求。同时...

    整合Struts2.1+jasperreport

    4. 数据源处理:根据应用需求,可以使用JDBC、Java集合或者其他方式来提供报表数据。在Action中,使用JasperFillManager.fillReport()方法将数据填充到报表模板中。 5. 显示报表:填充完成后,可以选择不同的方式来...

    iReport 4.0.1 + JasperReport 导出Html和PDF报表例子源码

    此外,理解数据源的配置和查询语言(如JasperReports内置的JDBC查询或者SQL)也是必要的。 总的来说,这个例子涵盖了报表设计、数据绑定、以及通过iReport导出到HTML和PDF的关键技术,对于想要深入理解和应用...

    Ireport+oracle连接包安装资源

    2. 在数据源选项中,选择“JDBC”。 3. 输入数据源名称,例如“OracleDS”。 4. 配置JDBC连接信息: - 驱动类名:填写`oracle.jdbc.OracleDriver`。 - URL:根据Oracle服务器的实际情况填写,如`jdbc:oracle:thin:...

    iReport-JasperReport 报表开发指南

    这通常涉及到设置JDBC驱动和数据源。 2. **报表设计基础**:了解iReport的工作环境,学习创建新的报表项目,理解Master-Detail报告的概念,以及如何使用“报告向导”快速生成基本报告结构。 3. **数据源与查询**:...

    iReport 和 Jasperreport整合开发web报表向导

    在iReport中可以创建JDBC数据源或自定义数据源。 3. **编译报表**:设计完成后,将iReport中的报表保存为JRXML文件,然后使用JasperCompileManager类编译成JasperReport对象。 4. **填充报表**:在运行时,通过...

    JasperReport中使用多个数据源的方法

    ### JasperReport中使用多个数据源的方法详解 #### 场景背景 在报表开发过程中,有时我们需要在一个报表中展示不同来源的数据。例如,在同一份报告中同时呈现交叉表和饼状图,而这两部分数据可能源自不同的数据库表...

    java报表(jasperreport_ireport+struts2)

    4. **填充报表**:使用JasperFillManager类,结合数据源(如JDBC连接)填充报表模板。数据会被替换到报表的动态字段中。 5. **导出报表**:填充后的报表可以导出为各种格式,如PDF、Excel、HTML等。...

    iReport 和 Jasperreport整合开发web报表向1.doc

    Jasperreport 的优势在于其灵活的数据绑定机制,可以支持多种数据源,包括 JDBC、CSV、XML 等。通过使用表达式和变量,开发者可以在报表中实现复杂的计算和逻辑操作。 iReport 的配置相对简单,只需设置JAVA_HOME和...

    springmvc+jasperReport5.6.0

    JasperReport设计报告的工具是iReport(现在已经发展为Jaspersoft Studio),它允许开发者通过拖拽方式设计报表模板,并且提供了丰富的内置函数和样式控制。 ** JasperReport 5.6.0 版本特性** - 支持更丰富的图表...

    iReport+java导出pdf/byte[]

    3. **数据源准备**:创建一个适合你的数据源,比如 JDBC 数据源、List 或 Map 数据源,这取决于你的数据是如何存储和获取的。 4. **填充报表**:使用 JasperFillManager 填充报表,传入 JasperReport 和数据源,...

    ireport-5.6.0 Jasperreport 报表工具 jar包大全

    JasperReport是一个用Java编写的报表库,它可以生成静态或动态的报表,支持多种数据源(如数据库、XML文件等)。它允许开发者在程序中嵌入报表,提供数据可视化,支持多种输出格式,包括PDF、HTML、Excel、CSV等。 ...

    ireport + jasper的使用

    用户可以通过它定义单元格样式、设置数据源、添加计算公式以及预览报表效果。ireport支持JasperReport的jrxml格式,这是一种XML格式,存储了报表的所有布局和样式信息。 jasperreports库则是在运行时解析jrxml文件...

    ireport+javabean

    - 支持所有有效的数据源,包括JDBC、CSV、Hibernate、JavaBean等。 - 用户可以自定义数据源,通过实现简单的接口与JasperReport集成。 - 提供无限次数的撤消/重做功能,方便用户在编辑过程中进行错误修正。 - ...

    JasperReport+iReport高级报表设计实战

    iReport支持与不同版本的JasperReport兼容,提供多种数据源选项,如JDBC数据库连接和JavaBean数据源。虽然开源,但官方文档需要付费,不过用户可以通过在线资源或旧版文档自学。 2. **准备工作** 设计报表前,首先...

Global site tag (gtag.js) - Google Analytics