【问题标题】:Create a sample Jasper report manually手动创建示例 Jasper 报告
【发布时间】:2016-01-15 23:14:58
【问题描述】:

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

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

 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 文件可用于创建 jasper 报告(它会减慢编译过程)----可以吗

我已使用空文件创建具有相同代码的 .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) 我可以在 jasper 报告创建中使用 xml 文件作为格式规范吗

3) 我如何创建 .jrxml 文件并在代码中用作 jasper 报告中的模板,如果我在代码中缺少该文件,我必须插入 xml 设计文档

4)我也想知道如何手动将jasper报告与postgers等数据源集成

谢谢你..

【问题讨论】:

    标签: java xml jasper-reports


    【解决方案1】:

    您需要将这些 jar 文件添加到您的类路径中。

    1. 普通 bean 实用程序
    2. 公共收藏
    3. 公地消化器
    4. 公共日志记录
    5. 休眠注释
    6. itext
    7. servlet api

    要使用 postgres 或任何其他数据库,您需要使用 ireport。它将为您提供更好的手动使用数据库的方法。

    享受吧。

    【讨论】:

      猜你喜欢
      • 2012-02-02
      • 2015-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多