首页 > 编程语言 >Java报表开发工具总结

Java报表开发工具总结

时间:2023-11-22 10:47:24浏览次数:34  
标签:Java 报表 一个 JasperReports 图表 开发工具 工具

Java报表工具,首先可以分成两大类:纯Java报表工具,和支持Java的报表工具。

支持Java的报表工具

支持Java的报表工具.其实就是非Java的报表工具,但是可以在Java程序中调用,这样的产品很多,总的讲一大类是采用独立报表服务器的,如Bo/Crystal Report,Brio,Cognos等等;
另一大类是在前端有控件的,如数巨报表等。

纯Java报表工具

纯Java的报表工具,就是用java语言编写的报表工具,包括报表引擎、内核、设计器界面、操作等。主要的有:Style Report,Jasper Report,birt,FineReport,ireport等等。

列举报表工具

JFreeReport

JFreeReport是一个用来生成报表的Java类库。它为Java应用程序提供一个灵活的打印功能并支持输出到打印机和PDF, Excel, HTML和XHTML, PlainText, XML和CSV文件中。

JasperReports

JasperReports是一个基于Java的开源报表工具,它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports支持PDF、HTML、XLS、CSV和XML文件输出格式。JasperReports是当前Java开发者最常用的报表工具。

iReport

iReport是一个能够创建复杂报表的开源项目,并且它能调用JasperReports库应用于任何一种java应用程序,使用纯Java编写,拥有非常丰富的图形界面。

允许用户可视化编辑包含charts,图片,子报表等的复杂报表。还集成了JFreeChart图表制作包。允许用户可视化地编辑XML JasperDesign文件。

OpenReports

OpenReports 提供基于web 的灵活报表解决方案,支持 PDF,HTML 和XLS 报表格式,基于WebWork,Hibernate 和 Velocity 开发完成,并且还提供一个整合了Tomcat 的OpenReports-Tomcat 文件下载。使用Java进行开发,JasperReports 作为报表引擎。

OpenRPT

OpenRPT支持各种平台PostgreSQL的最佳化的图形化界面的SQL报表撰写。

FreeReportBuilder

FreeReportBuilder是一个Java报表工具,可以与任何数据库正常工作,只需要有一个JDBC驱动程序。

jCharts

jCharts是一个100%基于Java的制图工具,它可以输出很多种图表。这个包是通过Servlets显示图表理想选择。

JFreeChart

JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。

JOpenChart

JOpenChart库和工具包提供了创建不同的图表的方法,包括饼图、直方图、和自绘图。它包含了将图表嵌入到Swing 或Web应用程序中的组件,Renderer Interface API可以方便地为不同种类的图表增加新的绘制。

Chart2D

Chart2D - 一个直观显示数据流量的2维图表(pie,线,垂直条,水平条,分散条(点),合并和覆盖图。有JComponent 和 BufferedImage类图表。

JChart2d

JChart2d是为那些需要精确的图形报表但可以不注重图形报表漂亮的工程任务所提供的一种工具。它有着简洁,可扩展的API和丰富的文档。

JChartLib

JChartLib 是一个用来绘制各种漂亮图表的 Java 类库,支持线图、柱状图,可使用各种颜色、自动处理坐标数值、自动处理样式。另外图表可直接在 Swing 中使用,可保持为 jpg 和 png 格式图片。

Pentaho

Pentaho Report Designer是一款所见即所得的开源报表设计工具。在设计报表的时候,用户可以随意拖放和设置各种报表的控件,还可以快速方便地设置报表的数据来源。在报表的设计过程中,用户可以随时预览报表的结果。

JMagallanes

JMagallanes是一个开源的使用Java/J2EE开发的Olap和动态报表应用程序。JMagallanes结合了静态报表(基于JasperReports),Swing pivot表格(用于OLAP分析),和图表(基于JFreeChart)。它可从多种数据源(如:SQL,Excel,XML和其它)读取数据并可生成多种输出如:PDF,XML,应用程序特殊文件用于将来报表的脱机查看。

JERT - JavaEye Reporting Tool

JERT是一个开放源代码的,基于web的,数据库报表工具,它能够让你不需要编程而能创建各种灵活的报表。

BIRT

BIRT是一个Eclipse-based开放源代码报表系统。它主要是用在基于Java与J2EE的Web应用程序上。BIRT主要由两部分组成:一个是基于Eclipse的报表设计和一个可以加到你应用服务的运行期组件。BIRT同时也提供一个图形报表制作引擎。

ART – A lightweight reporting solution

ART是一个轻量级的,多平台基于web的报表引擎。定制容易,支持图形报表,支持通过插件把结果导出为各种格式。

DataVision

DataVision是一个用Java编写的类似于Crystal Reports的报表工具。它支持多种数据源(JDBC, 文本文件) ,输出格式有HTML, XML, PDF, LaTeX, 逗号或tab分隔的数据文件, 和DocBook。它让你用一个支持拖放操作的GUI设计报表,报表描述存储为XML。

Wabit – Open Source Reporting Tool

Wabit 是一个跨平台开源的报表工具,提供了一个GUI程序和可嵌入式的接口。

Rlib

RLIB是一个基于XML的报表引擎,可以生成PDF,HTML,CSV,文本格式

Cewolf

Cewolf可以在一个基于Servlet/JSP的Web应用程序内部使用,以在Web页中嵌入各种复杂的图形图表(如,直方图、饼图、棒图等等)。它提供了一个功能完备的标签库来定义图表的所有属性(颜色、笔画、图例等),嵌入了图表的JSP就不用使用任何Java代码。

JasperAssistant

JasperAssistant是一个JasperReports的可视化报表设计器,一个受欢迎的报表引擎。它构建在Eclipse的插件体系之上,它的主要目的是通过一个直观的图形界面来帮助你开发JasperReports报表定义文件。

纯前端网格控件

Luckysheet

Luckysheet 是一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。
image

SpreadJS(收费)

SpreadJS 是一款基于 HTML5 的纯 JavaScript 电子表格和网格功能控件,可嵌入任何操作系统。
SpreadJS 在数据展示、前端导入导出、图表面板、数据绑定等场景无需大量代码开发和测试。
image

Handsontable

Handsontable 是一个 JavaScript/HTML5 数据网格组件,具有独立于任何外部框架的电子表格外观。可以使用自定义插件轻松修改或扩展它。它还使用 JSON 格式绑定到任何源,并且能够处理大量数据。您可以轻松执行数据绑定、数据验证、过滤、排序和 CRUD 操作,并为最终用户提供类似 Excel 的体验。
image

JsGrid

jsGrid 是一个轻量级基于 jQuery 的数据网格控件。它支持基本的网格操作,如插入、筛选、编辑、删除、分页和排序。jsGrid 是灵活的,允许自定义其外观和组件。
image

JqGrid

jqGrid 是一个用来显示网格数据的 jQuery 插件,文档比较全面,附带中文版本。
image

FancyGrid

FancyGrid 是一个带有图表集成 (highcharts 和 sparkling)、服务器通信和许多其他有用功能的网格库 。该库包括超过 25 种以上的功能,如分页、排序、过滤、验证、Ajax 数据、文件数据、RESTful、触摸支持、Angular JS 指令等等。

FancyGrid 是一个无插件库,它没有依赖,但与 jQuery 和 AngularJS 集成。FancyGrid 还包括大量示例、专业支持、优雅的 API 以及易于使用的详细文档。
image

ApeendGrid

ApeendGrid允许您逐行输入结构化数据,例如填充电子表格。它允许您在网格中添加/删除/插入/删除行。生成的 input/select/textarea 控件被命名为用于提交到服务器端应用程序。
image

W2ui

w2ui是一套前端UI框架, 基本上是通过json进行自动渲染的, 界面UI比较简洁朴素, 适合后台管理。
image

KingTable

KingTable是一个管理表的 jQuery 插件,可以根据输入数据自行构建。支持客户端和服务器端分页;客户端和服务器端搜索;自定义过滤器视图;用于隐藏和重新排序列的自动菜单并支持自定义工具。客户端导出功能为:csv、json 和 xml 格式。
image

EmberTable.js

EmberTable.js 是一个 JavaScript 数据网格库。 它允许你控制大数据集,并用于显示。 这是一个简单的扩展。 它支持重排序,列调整大小,可自定义并且易于配置。
image

标签:Java,报表,一个,JasperReports,图表,开发工具,工具
From: https://www.cnblogs.com/zhaojinhui/p/17848416.html

相关文章

  • 大数据开发要学什么java还是python?
    在大数据开发领域,Java和Python都是备受青睐的编程语言。它们分别具有各自独特的特点和优势,在大数据处理方面也有不同的应用场景。以下是对Java和Python在大数据开发中的应用、优势以及学习建议的详细描述。Java在大数据开发中的应用和优势1.应用场景Hadoop生态圈:Java广泛......
  • 【Java】乡镇卫生院、社区卫生服务中心云HIS源码
    云HIS采用云端SaaS服务的方式提供,用户通过浏览器即能访问,无需关注系统的部署、维护、升级等问题,系统充分考虑了模板化、配置化、智能化、扩展化等设计方法,覆盖了基层医院机构的主要工作流程,能够与监管系统有序对接,并能满足系统后期扩展的需要。一、医保数据上传医保数据上传是将......
  • 本地MinIO存储服务Java远程调用上传文件
    MinIO是一款高性能、分布式的对象存储系统,它可以100%的运行在标准硬件上,即X86等低成本机器也能够很好的运行MinIO。它的优点包括高性能、高可用性、易于部署和管理、支持多租户等。Cpolar内网穿透提供了更高的安全性和隐私保护,通过使用加密通信通道,Cpolar技术可以确保数据传输的......
  • java注解
    一、java注解用于为java代码提供元数据。提供数据来解释程序代码。注解并非所解释的代码的一部分,不直接影响代码执行。所有注解会自动继承java.lang.annotation这个接口,所以不能再去继承别的接口或类。 解析一个类/方法的注解有2种方式:1、编译期的直接扫描编译器在对jav......
  • Java开发者的Python快速进修指南:文件操作
    Python提供的文件操作相对于Java来说,确实简单方便许多。不仅操作简单,代码可读性也相对较高。然而,我们需要注意的不仅仅是文件操作的简单性,还有文件操作的各种模式。在Java中,我们并不经常使用像Python中那样的操作模式。另外,我们还需要注意文件指针的移动。无论是Java还是Python,文......
  • Java学习—二分法查找(二)
    BM18 二维数组中的查找描述在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给......
  • 解决问题:Unable to start embedded container; nested exception is java.lang.NoSuch
    因为有重复的jar原因:springboot有自己的tomcat运行环境我们又在构件路径中添加了tomcat解决方法:把项目构件路径中的tomcat给移除 ......
  • 前端学习-JavaScript学习-js基础05
    学习教程:黑马程序员视频链接对象了解<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Docum......
  • java 内部类
    packagenet.elaina.innerclass01;publicclassCar{StringcarName;intcarAge;StringcarColor;publicvoidshow(Carthis){//是打印调用者车的名字:宾利System.out.println(this.carName);//???在代码中有没有发动机......
  • Java的Integer.bitCount()源码分析
    本文部分参考:https://blog.csdn.net/weixin_42092787/article/details/106607426常规解法对于统计一个32位的二进制数值当中1的数量这个问题,常规解法如下:publicinthammingWeight(intn){intcount=0;for(inti=0;i<32;i++){n......