浅谈几种常用的报表

报表是为了数据的收集与展示,百科上说报表是表格、图表等格式展示数据。自己工作后陆续接触了两三种报表,分别是SpreadJs、Aspose和帆软FineReport,这里回顾下报表相关的知识,方便备查。

第一种、SpreadJs

第一个接触的报表,SpreadJs 是一款基于 HTML5 的纯 JavaScript 电子表格和网格功能控件,可嵌入任何操作系统,满足 .NET、Java等语言。
简单的说,SpreadJs 类似于微软的 excel 软件,对每个单元格可设置样式、更改自提,添加边框等。官网地址
本地绘制完成后保存为 ssjson 格式的文件,可进行数据的绑定。
浅谈几种常用的报表_第1张图片
spreadjs 数据绑定是通过读取配置表和数据表来实现,配置表中存放行列的信息。
本地编译器设置保存后,自动会将样式写入了ssjson文件中,如下图所示。
在这里插入图片描述

第二种、Aspose

Aspose是对office办公软件,如word、excel等操作,支持.net 和 Java,绑定数据关系,即可展示数据。
1)使用 world
world 可通过 (插入-文档部件-域)来绑定。主要包含模板和对应配置的xml文件,下图是定义的模板文件。域的样式如 <<>>
浅谈几种常用的报表_第2张图片
对应的xml文件存放查询数据的SQL,程序读取数据厚,生成并显示在新的文档中。

<?xml version="1.0" encoding="utf-8"?>
<document fileName="${date}">
	<template >
		<datasource name="dd">
			<querysql name="md" desc="人员信息">
				<![CDATA[ 
				SELECT 
					name,
					sex,
					age
				FROM 
					user
				]]>
			</querysql>
		</datasource> 
	</template>
	<setting> 
	</setting>
</document>

2)使用excel
excel 可通过 & 符号绑定字段,其中BD代表数据域,其后代码的是自定义的字段名称。
在这里插入图片描述
代码实现

//定义数据 list
List<Map<String, Object>> depList = new ArrayList<Map<String, Object>>();
//定义map 存放数据
Map<String, Object> depMap = new HashMap<String, Object>();
WorkbookDesigner designer = new WorkbookDesigner();
designer.setWorkbook(workbook);
String departInfo  = “”;
// departInfo 表示字段对应的内容,BD 表示自定义的名称
depMap.put("BD", departInfo);
// 将map放到list中
depList.add(depMap);
//绑定数据源
designer.setDataSource("BD", new HashMapDataTable(depList));
// 一定要有以下代码
designer.process(true);
第三种、帆软FineReport

FineReport是帆软公司的企业级的报表,支持连接数据库,试试查询和展示数据。官网下载地址
浅谈几种常用的报表_第3张图片
数据绑定区域。新建数据源,在SQL区域添加查询的SQL。
浅谈几种常用的报表_第4张图片
主要页面
浅谈几种常用的报表_第5张图片

最后说几句

报表是为了统计或者显示数据服务,以上三种报表都是要购买才能使用,附带的功能比较强大,使用到的都是简单的功能,以后有机会还要深入的去了解和学习。

你可能感兴趣的:(后端开发)