如题,在网上搜了很多资料 所以希望大虾解决的时候是给点自己的理解 网上的都太笼统了。小弟愚昧 望请指教 我能不能把表报理解成为用来显示数据库的一张表 并且这个表是可以打印的 还有就是如何在Java里用报表来显示数据库 最好能有个代码可以让小弟理解下个

解决方案 »

  1.   


    JasperReports是一个开源的java报表制作引擎
    http://jasperreports.sourceforge.netiReport是JasperReports的一个GUI工具,用来生成JasperReports的jrxml文件。
    http://ireport.sourceforge.net首先使用iReport制作报表的模板(我自己起的名词):    运行iReport,新建一个report。
        在Title band中输入报表的名称,好象使用pageheader band也可以,目前我还没有弄明白2者具体的差别。
        在column header band中放置一些static text,做为报表的列标题。
        在detal band中放入一些textfield,显示报表的详细数据。
        在summary band中放入类似于"合计"之类的textfield,这个band是显示在最后一行数据的下放。
        在LastPageFooter band中放入想在最后一页显示的信息,比如说"审阅人签名"之类的。这样报表的框架就基本上搭好了,然后compile一下检查是否有错误,如果没有错误那么就可以在程序中使用这个报表模板了。JasperReports介绍:
        
        使用JasperReports生成报表是非常简单的,仅仅使用net.sf.jasperreports.engine包中的几个类即可完成报表的生成、预览、打印、导出等各个功能。1.  net.sf.jasperreports.engine.JasperCompileManager类。
        使用这个类的几个静态方法即可完成对报表的编译工作(具体参见api文档)
        编译完成后可以JasperCompileManager有两种处理方式:
           1> 返回一个JasperReport对象
           2> 在.jrxml文件所在的目录生成一个.jasper文件
        这两种方式是由程序员自己选择的。不过我比较倾向使用.jasper文件,毕竟报表的结构不是每天都在改动,所以每次重新编译报表并不是很划算。2.  net.sf.jasperreports.engine.JasperFillManager类
        这个类的作用是用数据填充报表。它可以使用JasperReport对象也可以使用。jasper文件做为报表模板。
        它同样有2中处理方式:
              1> 返回一个JsaperPrint对象。
              2> 在.jasper文件所在目录生成一个.jrprint文件
        这个类使用net.sf.jasperreports.engine.JRDataSource接口的实现做为数据源。任何实现了JRDataSource的类均可做为数据源使用
        在net.sf.jasperreports.engine.data包中定义了一些数据源,可根据自己的需要选择。这里我使用的是JRTableModelDataSource做为
        数据源(因为我的报表还要显示在Table中)。3. net.sf.jasperreports.engine.JasperPrintManager和net.sf.jasperreports.engine.JasperExportManager
       者两个类的作用是打印、导出报表
       他们使用 JasperPrint 和 .jrprint文件做为输入。
       可以根据自己的需要使用里面的方法。例:
           import net.sf.jasperreports.engine.*;
           import net.sf.jasperreports.view.*;
           public class CompileReport {
              public static void main(String args[]) {
                 try {
                    //编译report.jrxml并在report.jrxml所在的目录中生成report.jasper文件
                    JasperCompileManager.compileReportToFile("report.jrxml");
                    //填充数据,这里使用的是JREmptyDataSource
                    JasperFillManager.fillReportToFile("report.jasper", null, new JREmptyDataSource(50));
                    //预览报表,false代表不是使用xml文件。
                    JasperViewer view = new JasperViewer("reports.jrprint", false);
                    view.pack();
                    view.setVisible(true);
                 }
                 catch (Exception e) {
                    e.printStackTrace()
                 }
              }
           }
      

  2.   

    不懂inbg
      

  3.   

    FusionCharts  学习起来比较简单
    http://www.fusioncharts.com/free/ 这个比较好用 可以下载下来 里面有大量例子
    http://www.fusioncharts.com/free/demos/Blueprint/ 查看效果图
      

  4.   

    JasperReports
    用这个 我这里有教程
    实现也比较简单
      

  5.   


    这是比较常用的ireport工具, 还有一个是jfreechart