2014-04-08 66 views
0

我正在尝试学习JasperReports。到目前为止,我已经发现JasperReports可以与NetBeans集成,为此,我使用了几个教程,但无法获得正确的代码。我想手动创建报告。手动创建示例Jasper报告

我创建示例应用程序,它包含的代码:

import java.util.HashMap; 

import net.sf.jasperreports.engine.JREmptyDataSource; 
import net.sf.jasperreports.engine.JRException; 
import net.sf.jasperreports.engine.JasperCompileManager; 
import net.sf.jasperreports.engine.JasperExportManager; 
import net.sf.jasperreports.engine.JasperFillManager; 
import net.sf.jasperreports.engine.JasperPrint; 
import net.sf.jasperreports.engine.JasperReport; 
import net.sf.jasperreports.view.JasperViewer; 
public class JavaApplication7 { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    // TODO code application logic here 


String reportSource = "./report.temp.result/newXMLDocument.xml"; 
String reportDest = "./report.template/HelloReportWorld.html"; 

HashMap<String, Object> params = new HashMap<String, Object>(); 

try 
{ 
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource); 

JasperPrint jasperPrint = 
    JasperFillManager.fillReport(jasperReport, params, new JREmptyDataSource()); 

JasperExportManager.exportReportToHtmlFile(jasperPrint, reportDest); 

JasperViewer.viewReport(jasperPrint); 
    } 
    catch (JRException ex) 
    { 
    ex.printStackTrace(); 
    } 

我也创建包含的代码

<?xml version="1.0"?> 
<!DOCTYPE jasperReport 
PUBLIC "-//JasperReports//DTD Report Design//EN" 
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"> 

<jasperReport name="HelloReportWorld"> 
    <detail> 
    <band height="200"> 
     <staticText> 
      <reportElement x="0" y="0" width="500" height="20"/> 
      <text><![CDATA[Hello Report World!]]></text> 
     </staticText> 
    </band> 
    </detail> 
</jasperReport> 

这是XML文件作为我的模板样本文件在教程中阅读xml文件可用于创建碧玉报告(它减缓编译过程)----是好的

我已经使用空文件的c使用相同的代码重新使用.jrxml,但我认为我可能会丢失XML设计文档,并且我无法弄清楚从哪里获得该xml设计文档,以及在netbeans中将其添加到哪里

我试图运行主文件,以获得输出,但我得到的错误下面的列表

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 
at net.sf.jasperreports.engine.util.JRLoader.<clinit>(JRLoader.java:68) 
at net.sf.jasperreports.engine.JRPropertiesUtil.loadProperties(JRPropertiesUtil.java:99) 
at net.sf.jasperreports.engine.DefaultJasperReportsContext.initProperties(DefaultJasperReportsContext.java:94) 
at net.sf.jasperreports.engine.DefaultJasperReportsContext.<init>(DefaultJasperReportsContext.java:71) 
at net.sf.jasperreports.engine.DefaultJasperReportsContext.<clinit>(DefaultJasperReportsContext.java:59) 
at net.sf.jasperreports.engine.JasperCompileManager.getDefaultInstance(JasperCompileManager.java:84) 
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:459) 
at javaapplication7.JavaApplication7.main(JavaApplication7.java:39) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
... 8 more 
    Java Result: 1 

这些都是我觉得在运行主文件 我所面临的问题,错误的列表

1)我按照正确的方法创建碧玉报告

2)我可以使用xml文件在碧玉报告创建

3)如何创建生成.jrxml文件,并在代码中使用如碧玉报告模板的格式规范,并为在那里我要插入如果我缺少的是,在代码

4)我也想知道如何碧玉报告与像postgers手动

三江源数据源整合XML设计文件..

回答

0

你需要在你的课堂中添加这些jar文件路径。

  1. 菜豆UTIL
  2. 公共收藏
  3. 公共沼气池
  4. 公共记录
  5. 休眠注释
  6. iText的
  7. Servlet API的

对于使用Postgres的或任何Ø你需要使用ireport数据库。它将为您提供更好的手动使用数据库的方式。

享受。