试图让Jaspersoft Studio读取Excel数值

时间:2014-09-25 12:26:40

标签: jasper-reports

我正在使用 Jaspersoft Studio 创建 JasperReports 的报告,使用 Excel 文件作为数据源(我有一个excel中的几列与数字值,我已在字段中指定了类java.lang.Number)。但是在预览报告时,我得到以下错误

"net.sf.jasperreports.engine.JRException: unable to get value for field 'Hours' of class java.lang.Number"

请输入任何内容?

这是我的jrxml文件



<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 5.6.1.final using JasperReports Library version 5.6.1  -->
<!-- 2014-09-25T18:35:44 -->
<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="Leaf_Grey" pageWidth="595" pageHeight="842" columnWidth="535" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="896e484a-2240-4304-afcc-7290c150d8b7">
	<property name="ireport.zoom" value="1.0"/>
	<property name="ireport.x" value="0"/>
	<property name="ireport.y" value="0"/>
	<property name="com.jaspersoft.studio.data.defaultdataadapter" value="New Data Adapter (4)"/>
	<style name="Title" fontName="Arial" fontSize="26" isBold="true" pdfFontName="Helvetica-Bold"/>
	<style name="SubTitle" forecolor="#666666" fontName="Arial" fontSize="18"/>
	<style name="Column header" forecolor="#666666" fontName="Arial" fontSize="12" isBold="true"/>
	<style name="Detail" fontName="Arial" fontSize="12"/>
	<queryString>
		<![CDATA[]]>
	</queryString>
	<field name="Task" class="java.lang.String"/>
	<field name="Site Name" class="java.lang.String"/>
	<field name="Hours" class="java.lang.Number"/>
	<field name="Minutes" class="java.lang.Number"/>
	<field name="Status" class="java.lang.String"/>
	<field name="Comments" class="java.lang.String"/>
	<field name="Employee Name" class="java.lang.String"/>
	<background>
		<band splitType="Stretch"/>
	</background>
	<title>
		<band height="70" splitType="Stretch">
			<image>
				<reportElement x="275" y="0" width="300" height="64" uuid="8636fef6-bee7-4ac4-9942-653e5c68326b"/>
				<imageExpression><![CDATA["leaf_banner_gray.png"]]></imageExpression>
			</image>
			<staticText>
				<reportElement style="Title" x="0" y="13" width="263" height="33" uuid="4370ee46-32ee-4993-8fc6-fff1a5cbbb10"/>
				<textElement verticalAlignment="Middle"/>
				<text><![CDATA[Leaf Gray Title]]></text>
			</staticText>
			<staticText>
				<reportElement style="SubTitle" x="117" y="46" width="157" height="22" uuid="e0a627c7-e8b9-4efb-8e25-85fea9d9be9c"/>
				<text><![CDATA[Leaf Gray SubTitle]]></text>
			</staticText>
		</band>
	</title>
	<pageHeader>
		<band splitType="Stretch"/>
	</pageHeader>
	<columnHeader>
		<band height="36" splitType="Stretch">
			<line>
				<reportElement positionType="FixRelativeToBottom" x="0" y="35" width="555" height="1" uuid="8545dbd1-d876-4d96-8abf-d6b221e00a45"/>
				<graphicElement>
					<pen lineWidth="0.5" lineColor="#999999"/>
				</graphicElement>
			</line>
			<staticText>
				<reportElement style="Column header" x="0" y="19" width="79" height="15" uuid="cac2a980-c74e-44b0-b596-05d495272ccb"/>
				<text><![CDATA[Task]]></text>
			</staticText>
			<staticText>
				<reportElement style="Column header" x="79" y="19" width="79" height="15" uuid="d55bebe9-d167-4528-a78c-a5a41af89efc"/>
				<text><![CDATA[Site Name]]></text>
			</staticText>
			<staticText>
				<reportElement style="Column header" x="158" y="19" width="79" height="15" uuid="667ce640-c671-4337-8f0c-d23b3f4b273c"/>
				<text><![CDATA[Hours]]></text>
			</staticText>
			<staticText>
				<reportElement style="Column header" x="237" y="19" width="79" height="15" uuid="df472e1f-39fb-4b34-b0b3-0867407df860"/>
				<text><![CDATA[Minutes]]></text>
			</staticText>
			<staticText>
				<reportElement style="Column header" x="316" y="19" width="79" height="15" uuid="05e27ddd-a03c-4ad6-8596-5cfc00655de7"/>
				<text><![CDATA[Status]]></text>
			</staticText>
			<staticText>
				<reportElement style="Column header" x="395" y="19" width="79" height="15" uuid="cefa7fbe-75bd-4923-82a6-da21a13d4f58"/>
				<text><![CDATA[Comments]]></text>
			</staticText>
			<staticText>
				<reportElement style="Column header" x="474" y="19" width="79" height="15" uuid="090b77e6-6a38-43b4-8501-6e1c3e246764"/>
				<text><![CDATA[Employee Name]]></text>
			</staticText>
		</band>
	</columnHeader>
	<detail>
		<band height="16" splitType="Stretch">
			<line>
				<reportElement positionType="FixRelativeToBottom" x="0" y="15" width="555" height="1" uuid="9b18ea63-f82d-4ef1-872e-8fde09656872"/>
				<graphicElement>
					<pen lineWidth="0.5" lineColor="#999999"/>
				</graphicElement>
			</line>
			<textField>
				<reportElement style="Detail" x="0" y="0" width="79" height="15" uuid="1f24eaab-1923-419e-9262-79b6c2b80499"/>
				<textFieldExpression><![CDATA[$F{Task}]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement style="Detail" x="79" y="0" width="79" height="15" uuid="f9b21e3a-3150-4744-a413-10cf734a2c3d"/>
				<textFieldExpression><![CDATA[$F{Site Name}]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement style="Detail" x="158" y="0" width="79" height="15" uuid="867d0368-9589-4c6b-8502-f71224a11a4c"/>
				<textFieldExpression><![CDATA[$F{Hours}]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement style="Detail" x="237" y="0" width="79" height="15" uuid="17715223-dbc6-462a-b80c-aeb54aa58932"/>
				<textFieldExpression><![CDATA[$F{Minutes}]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement style="Detail" x="316" y="0" width="79" height="15" uuid="3a3115d3-420d-4411-88cc-30b41f67443e"/>
				<textFieldExpression><![CDATA[$F{Status}]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement style="Detail" x="395" y="0" width="79" height="15" uuid="97194b34-07e1-49b4-aba0-af1efe7b9bf4"/>
				<textFieldExpression><![CDATA[$F{Comments}]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement style="Detail" x="474" y="0" width="79" height="15" uuid="ba21b35b-74a9-45ee-862f-8752756350dd"/>
				<textFieldExpression><![CDATA[$F{Employee Name}]]></textFieldExpression>
			</textField>
		</band>
	</detail>
	<columnFooter>
		<band height="45" splitType="Stretch">
			<line>
				<reportElement positionType="FixRelativeToBottom" x="0" y="3" width="555" height="1" uuid="7d65af8c-8abe-40ae-9953-98342530289f"/>
				<graphicElement>
					<pen lineWidth="0.5" lineColor="#999999"/>
				</graphicElement>
			</line>
		</band>
	</columnFooter>
	<pageFooter>
		<band height="20" splitType="Stretch">
			<textField>
				<reportElement style="Column header" x="433" y="0" width="80" height="20" uuid="afe06d42-bf57-40c1-9cbb-6e8a04a641e6"/>
				<textElement textAlignment="Right">
					<font size="10" isBold="false"/>
				</textElement>
				<textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression>
			</textField>
			<textField evaluationTime="Report">
				<reportElement style="Column header" x="513" y="0" width="40" height="20" uuid="ee38e653-d5c9-4269-93a3-b1dcd2685d2c"/>
				<textElement>
					<font size="10" isBold="false"/>
				</textElement>
				<textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
			</textField>
			<textField pattern="EEEEE dd MMMMM yyyy">
				<reportElement style="Column header" x="0" y="0" width="197" height="20" uuid="af6b71ba-3c04-4b3c-9b70-e18e46b27ff4"/>
				<textElement>
					<font size="10" isBold="false"/>
				</textElement>
				<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
			</textField>
		</band>
	</pageFooter>
	<summary>
		<band splitType="Stretch"/>
	</summary>
</jasperReport>
&#13;
&#13;
&#13;    

示例excel文件如下:

Task    Site Name   Hours   Minutes Status  Comments    Employee Name
Task A  abc.com 3   45  Ongoing Easy    Jim
Task B  abc.com 1   20  Done    Easy    John
Task C  abc.com 3   30  Ongoing Easy    Jim
Task A  abc.com 1   20  Done    Easy    John
Task D  abc.com 3   45  Ongoing Easy    Mary
Task A  abc.com 1   20  Done    Easy    Stacy
Task E  abc.com 3   30  Ongoing Easy    Stacy
Task A  abc.com 1   20  Done    Easy    Stacy

1 个答案:

答案 0 :(得分:0)

1)如果要求是将Class更改为Number in Number,则需要单击复选框&#34;使用自定义数字模式&#34;并选择一个数字模式。

2)如果没有特定要求,那么很容易选择java.lang.Integer作为数字的类。这将使报告正常工作。