求一款较好的报表控件!要求能够很美观地显示报表,并且能够所见即所得打印报表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一款较好的报表控件!要求能够很美观地显示报表,并且能够所见即所得打印报表相关的知识,希望对你有一定的参考价值。

参考技术A fastreport 4
FastReport是高弹性的报表设计器,用于报表的数据可以从任何类型的数据源获取,包含字符列表,BDE数据库,ADO数据源(不使用BDE),Interbase(使用IBO),Pascal数组和记录,以及一些不常用的数据源。

整个FastReport系统是用Delphi的Pascal编写的。FastReport不需要动态链接库,但需在你的项目中占用大约400kb(Delphi 5)。如果你想最终用户拥有设计能力,这将在你的.EXE中增加大约500kb。虽然这看上去比较大,但这只是其它设计的几分之一。你同样应该考虑到FastReport不仅仅只是包含最终用户更改报表设计的能力,还能够适应查询和数据库的变化。FastReport还包含自己的脚本语言,让应用程序和最终用户能够更容易地改变报表。如果你的大部分应用使用FastReport,你可以简单地配置FastReport BPL(大约1400kb)而所有你的应用程序只需要保留很少的一部分。

你可以发现FastReport有一个非常吸引人的用户界面,使用最新的用户界面组件,例如可停靠的工具栏。你的最终用户将会非常愿意使用这个设计器,只需使用鼠标就可以创建大多数报表。

FastReport是名副其实的快速报表:较其它一些Delphi报表设计器而言,你可以发现没有什么可以接近于它的开发速度。报表预览窗口一直是大多数报表设计器的弱点,高品质的外观,赋于你的应用程序非常专业的用户界面。

FastReport是一个已经拥有三年历史的非常成熟的报表设计器,成长使它拥有其它Delphi报表设计器所不能相比的诸多先进特性。

Java开发报表——Grid++Report 报表设计器

          为了让数据显示的更加形象生动,报表在项目中差点儿是很常见的,可是大致能够分为两类:


         ,图形:以图形的形式显示数据,比如柱状图,折线图,饼形图等等,这里有许多关于这方面的工具,比如JFreeCharts(利用Java语言实现的,相对来说不是太美观),FunsionChartsFree(利用xml+flash+Js实现。相对来说不错),能够參考我曾经的文章:图形生成工具(funsionChartsFree and ifreeChart) ;其次还有HighChartshttp://www.hcharts.cn/demo/index.php)和Echarts(官网:http://echarts.baidu.com/doc/example.html),两者都是通过JS来实现的。是比較推荐使用的。官网的资料很丰富的

   

       二。就是表格,一种是能够将数据导出为Excel表格。我们能够通过POI(功能更加强大丰富,可是复杂)JXL(简单易用,可是复杂的功能有些实现不了);二。一些统计表格。用于统计重要信息进行打印的。

Java中一般经常使用的JasperReport+iReport,这个网上资料比較多,我们项目使用了Grid++Report,这个报表设计器。支持C/S开发:VB.NET、C#、VB、VC、Delphi等,B/S开发:ASP.NET、ASP、PHP、JSP等,支持全部WEBserver。曾经在C/SVB开发中使用过(报表从陌生到使用 ),这次在Java web中使用了,主要是通过參考用户手冊,和官方的demo进行设计的。

    

         用报表设计器设计报表这里不再赘述。无在乎页眉页脚。报表头报表尾,明细网格还有各种部件的使用而已。

下边简单看一个报表样例。


         1,首先须要将设计好的grf的报表放到项目的某个路径下,在jsp页面中进行引用:

	<script type="text/javascript">
		// var Installed = Install_Detect();
			CreateDisplayViewerEx("100%", "80%",
					"${contextPath}/assets/gridReport/grf/selfGetNumber.grf", "",
					true, "");		

</script

        这段代码须要body里边。grid++report的默认容器是在body中。


        2。利用AJAX进行数据的訪问:

	<script type="text/javascript">
		function getGridData() {
	
			AjaxReportViewerStart(ReportViewer,
					"${contextPath}/log/logregistration/gridData?startTime=‘2014-10-12‘&endTime=‘2014-10-09‘");
	
		}

</script>

            3AJAX数据的传输格式规定:

<report>
<xml>
<row><CustomerID>BLONP</CustomerID><CompanyName>国皓</CompanyName><ContactName>黄雅玲</ContactName></row>
<row><CustomerID>CACTU</CustomerID><CompanyName>威航货运有限公司</CompanyName><ContactName>刘先生</ContactName></row>
<row><CustomerID>CENTC</CustomerID><CompanyName>三捷实业</CompanyName><ContactName>王先生</ContactName></row>
<row><CustomerID>HUNGC</CustomerID><CompanyName>五金机械</CompanyName><ContactName>苏先生</ContactName></row>
<row><CustomerID>MEREP</CustomerID><CompanyName>华科</CompanyName><ContactName>吴小姐</ContactName></row>
</xml>
<_grparam>
<Parameter1>Value1</Parameter1>
<Parameter2>Value2</Parameter2>
<StaticBox1>Text1</StaticBox1>
<MemoBox1>Text2</MemoBox1>
</_grparam>
</report>

      当中row为明细表格中字段。_grparam为參数。

这里须要注意的是字段名字的相应。仅仅要我们在后台用PrintWriter进行write我们拼接好的xml字符串就可以。

 

        当然我这里仅仅是一个简单的样例。事实上报表开发都几乎相同。须要我们多看看文档。看看官方的样例就好多了。




以上是关于求一款较好的报表控件!要求能够很美观地显示报表,并且能够所见即所得打印报表的主要内容,如果未能解决你的问题,请参考以下文章

帆软报表PC端实施报表心得体会

想找一款好用的企业报表软件,有没好的推荐呢?

蒋步星:报表工具的“后”路

Java开发报表——Grid++Report 报表设计器

SQL 报告:报告查看器控件不显示数据

DELPHI 下fastreport打开指定目录中的报表文件怎么写语句