您的位置:首页 > 编程语言 > ASP

Ireport+Jasperreport实现报表使用

2009-03-04 15:46 567 查看
1. 在项目中使用IreportServlet.是主要的实现类。
2. 在项目中WebRoot/加入ireport.jsp是测试用的jsp页面。在jsp页面需要设置一个隐藏域设置生成jrxml文件名。假如用ireport 报表设计器生成的jrxml文件的文件名为test.jrxml(<input type=”hidden” name=”filename” value=”test”>)其中name=”filename”是固定的,value=”文件名不需要拓展名”。其余需要动态传入的参数标签中的name属性必须要跟报表设计器中设置变量的属性相同。例如报表设计器中设置的标题为$F{ReportTitle}则在jsp页中<input type=”text” name=”ReportTitle”>

示例Ireport.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>

<%session.removeAttribute("net.sf.jasperreports.j2ee.jasper_print"); %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="../IreportServlet" method="post">
表报标题<input type="text" id="ReportTitle" name="ReportTitle"/>
<br>
无用参数<input type="text" name="ksfjals">
<br>
<select id="type" name="type">
<option value="HTML">HTML</option>
<option value="PDF">PDF</option>
<option value="XLS">XLS</option>
<option value="RTF">RTF</option>
</select>
<input type="hidden" name="filename" value="yyinfo1">
<input type="submit" value="生成报表">
</form>
</body>
</html>

示例test.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="test"
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="2" />
<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="false" class="java.lang.String"/>
<queryString><![CDATA[select * from pt_yy_info]]></queryString>

<field name="name" class="java.lang.String"/>

<background>
<band height="0" isSplitAllowed="true" >
</band>
</background>
<title>
<band height="50" isSplitAllowed="true" >
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="86"
y="15"
width="270"
height="18"
key="textField"/>
<box></box>
<textElement>
<font fontName="华文行楷" pdfFontName="STSong-Light" pdfEncoding ="UniGB-UCS2-H"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$P{ReportTitle}]]></textFieldExpression>
</textField>
</band>
</title>
<pageHeader>
<band height="50" isSplitAllowed="true" >
</band>
</pageHeader>
<columnHeader>
<band height="30" isSplitAllowed="true" >
<staticText>
<reportElement
x="23"
y="8"
width="91"
height="17"
key="staticText-1"/>
<box></box>
<textElement>
<font fontName="华文行楷" pdfFontName="STSong-Light" pdfEncoding ="UniGB-UCS2-H"/>
</textElement>
<text><![CDATA[姓名]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="100" isSplitAllowed="true" >
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="23"
y="15"
width="100"
height="18"
key="textField"/>
<box></box>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{name}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="30" isSplitAllowed="true" >
</band>
</columnFooter>
<pageFooter>
<band height="50" isSplitAllowed="true" >
</band>
</pageFooter>
<lastPageFooter>
<band height="50" isSplitAllowed="true" >
</band>
</lastPageFooter>
<summary>
<band height="50" isSplitAllowed="true" >
</band>
</summary>
</jasperReport>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: