[英]JasperReport : net.sf.jasperreports.engine.JRException
[英]net.sf.jasperreports.engine.JRException: Error loading object from file
我正在使用jasper顯示我的項目報告...實際上我正嘗試將參數動態傳遞給jrxml模板,如我在下面給出的鏈接中所看到的,但我無法.....似乎我的代碼有問題,錯誤是
net.sf.jasperreports.engine.JRException: Error loading object from file : C:\Users\db2admin\Documents\NetBeansProjects\ConnectDB\src\sample_report.jrxml
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:115)
at net.sf.jasperreports.engine.JasperFillManager.fillToFile(JasperFillManager.java:487)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:874)
at ConnectDB.main(ConnectDB.java:65)
Caused by: java.io.StreamCorruptedException: invalid stream header: 3C3F786D
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:801)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298)
at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.<init>(ContextClassLoaderObjectInputStream.java:53)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:110)
... 3 more
碧玉代碼段是
ResultSet resultSet = statement.executeQuery("SELECT reg, name FROM students");
JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(resultSet);
JasperFillManager.fillReportToFile("C:\\Users\\db2admin\\Documents\\NetBeansProjects\\
ConnectDB\\src\\sample_report.jrxml", null, resultSetDataSource);
最后的xml代碼是
<?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="sample_report" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="30" bottomMargin="30" uuid="b3b98795-b21f-4006-9295-5ef4248c84ea">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<field name="name" class="java.lang.String"/>
<field name="reg" class="java.lang.Integer"/>
<columnHeader>
<band height="28" splitType="Stretch">
<staticText>
<reportElement uuid="6d6bff96-6dcb-4188-bdc0-5c23b2614b05" key="staticText-1" x="40" y="11" width="196" height="15"/>
<textElement/>
<text><![CDATA[Name]]>
</text>
</staticText>
<staticText>
<reportElement uuid="c0267b29-e31b-4afd-a181-86bbcb4fb368" key="staticText-2" x="330" y="11" width="193" height="15"/>
<textElement/>
<text><![CDATA[Reg]]>
</text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="27" splitType="Stretch">
<textField>
<reportElement uuid="4a1e6484-9610-421d-b4a4-f61d53458d9e" key="textField" x="47" y="6" width="173" height="18"/>
<textElement/>
<textFieldExpression><![CDATA[$F{name}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement uuid="01cb3d91-74e7-4594-aca0-605d1aa203a8" key="textField" x="330" y="6" width="100" height="18"/>
<textElement/>
<textFieldExpression><![CDATA[$F{reg}]]>
</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
我將此網站推薦為http://www.packtpub.com/article/creating-dynamic-reports-from-databases-jasperreports-3.5
請幫助我!!!!
如果您在ireport中工作,請檢查您的子報表是否引用了.jasper文件(而不是jrxml)。
如果要將報告發布到jasperreports-server,請記住,它會在報告定義中進行更改,引用帶有前綴的jrxml文件(而不是jasper文件)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.