Spreadsheet (电子表格)是企业报表平台的最佳选择。满足各种复杂格式的监管报表、内部管理报表的需求;支持交叉统计报表、不规则报表、原始凭证报表等各种复杂格式的报表。
电子表格是基于数据集(可视化查询、SQL查询、原生SQL查询和存储过程查询等),使用Excel作为客户端创建的。
前提条件:
1、客户开发机器上具有office软件Excel,目前支持的 Excel 版本有Mscrosoft Office 2010、2013的Excel,以及WPS2016专业版。
2、需要安装产品服务器Smartbi Spreadsheet Edition.exe和客户端Excel插件SmartbiExcelAddin.exe。具体参见电子表格安装指南 。
...
...
...
架构图:
操作流程:
...
在Smartbi电子表格中创建并浏览电子表格的流程如下:
登录客户端
- 安装好电子表格服务器和Excel插件SmartbiExcelAddin.exe后,打开此次示例的EXCEL模板文件,在Excel文件菜单栏上会出现Smartbi 页签
- 在Smartbi
...
- 页签工具栏上点击 设置
...
- 按钮,则会弹出"服务器设置"
...
- 对话框,根据实际情况填写需连接的产品服务器地址、用户名、密码后,点击 确定
...
- 按钮,则完成服务器设置。
...
- 服务器设置完成后,点击工具栏上按钮 登录,登录成功后在右侧出现查询资源选择面板,如下图:
数据源连接
首先,配置数据源连接。以MYSQL的数据库northwind为例,连接数据库的具体操作如下:
...
- 在电子表格设计器中单击工具栏中的 定制管理 。
...
-
则会新窗口弹出系统管理界面。
...
- 在左侧的资源目录区中,选择 数据源
...
- ,在其右键菜单中选择 新建 > 关系数据源,右侧显示"新建关系数据源"界面。
- 在右侧的"新建关系数据源"界面中,请输入该数据源的相关信息。其中带"* "的行为必输项。
- 输入该关系数据源的名称。如输入:northwind。
- 选择驱动类型。这次我们以MySQL数据库为例,所以驱动程序类型应该选择MySQL。
- 填写连接字符串中的服务器和数据库名称。即用实际应用服务器地址和数据库名称来替换连接字符串中蓝色部分,如将"jdbc:mysql://<servername>/<database>?useUnicode=true&characterEncoding=GBK " 替换为"jdbc:mysql://localhost:6699/northwind?useUnicode=true&characterEncoding=GBK"。
- 输入连接数据库的数据库密码。如我们连接MySQL类型的northwind数据库的时候,输入的用户名和密码是admin/admin。
...
- 单击 测试连接
...
- 按钮。测试连接通过后,单击 保存
...
- 按钮,数据源连接成功。
说明
...
:关于关系数据源连接的详细内容请参见关系数据源连接 。
...
...
这里我们根据上面创建northwind数据源来创建一个SQL查询,其具体操作如下:
...
- 在电子表格设计器中单击工具栏中的 定制管理 ,如下图:会弹出数据集定义对话框,如下图:
- 单击"系统管理"
...
- 界面的快捷方式 新建SQL查询,弹出"新建SQL查询"对话框。
...
- 选择数据源。此处我们选择 关系数据源 > northwind,进入"新建SQL查询"界面。
- 在新建窗口的中间空白区域,输入完整的SQL语句。如下图:
...
说明:SQL查询要求输出字段需要加别名。
...
- 在新建窗口右侧,右键选择输出字段,在弹出的右键菜单中选择 检测输出字段类型。如下图
- 在新建窗口右侧输出字段区域,分别选中各个字段,修改字段别名,如下图:
- (可选)
...
- 我们可以通过单击工具栏上的 查看SQL
...
- 按钮来查看查询生成的SQL,单击 预览数据
...
- 按钮来预览数据。
...
- 单击工具栏上的 保存
...
...
...
- 我们回到电子表格设计器中,在右侧的资源选择数据集(注意:切换到数据集定义tab)区域,找到上面步骤创建的数据集"区域类别销售数量查询"。从SQL查询"区域类别销售数量查询"分别拖拽"区域"、"产品类别"、"数量"到单元格A3、B3、C3。如图:
- 设置字段属性。 选中""数量"、"单价"对应的单元格C3。设置其扩展属性"不扩展",数据设置为"汇总",汇总方式为"求和"。如下图:
- 修饰表样。添加表头、边框、底色,设置字体等。如下图:
- 添加合计和小计。 小计。合并A3和A4单元格,在B4单元格输入"小计",在C4单元格内输入公式"=sum(C3)"。 合计。合并A5和B5单元格,在A5单元格输入"合计",在C5单元格内输入公式"=sum(C3)"。
- 发布电子表格。通过发布把电子表格保存在产品资源目录树下。
...
- 点击工具栏上 发布
...
- 按钮,会弹出"保存文档"对话框, 根据需要选择保存路径和名称,保存此电子表格。
- 预览电子表格
...
- 。可以点击工具栏上 发布预览
...
- 按钮,预览数据,如下图:
- 预览数据即可。
交叉报表
交叉报表是指列头是根据数据库字段值横向扩展出来的,会随着字段值动态变化。报表效果如图:
实现步骤如下:
- 拖拽字段。从左侧数据集拖拽字段到对应单元格。 从SQL查询"区域类别销售数量查询"分别拖拽"区域"、"产品类别"、"数量"到单元格A3、B2、B3。如图:
- 设置字段属性。 选中"产品类别"单元格B2。设置其扩展属性"从左到右",数据设置为"分组"。如下图:
...
-
选中"数量"对应的单元格B3。设置其扩展属性"不扩展",数据设置为"汇总",汇总方式为"求和"。如下图: - 修饰表样。添加表头、边框、底色,设置字体等。如下图:
- 设置交叉表头。在A2单元格中输入"区域|类别",输入完成后选择工具栏上单元格格式中的"斜线"类型。如下图
在弹出的对话框中点击确定,如下图:
- 发布电子表格。通过发布把电子表格保存在产品资源目录树下。
...
- 点击工具栏上 发布 按钮,会弹出"保存"对话框, 根据需要选择保存路径和名称,保存此电子表格。
- 预览电子表格
...
- 。可以点击工具栏上 执行 按钮,预览数据,如下图:
图形报表
电子表格利用excel自带的各类图形作图,或者图表结合使用。下面我们以最常用的图形柱图为例演示如何使用电子表格创建柱图。效果如下图:
具体步骤如下:
- 拖拽字段。
...
- 在Excel报表设计器的sheet1界面中,在右侧的资源选择数据集(注意:切换到数据集定义tab)区域,找到上面步骤创建的数据集"区域类别销售数量查询"。 从SQL查询"区域类别销售数量查询"分别拖拽"区域"、"数量"到单元格A2、B2中。
- 设置字段属性。选中"数量"单元格B2。设置其扩展属性"不扩展",数据设置为"汇总",汇总方式为"求和"。
- 插入图形。 同时选中A2和B2单元格,选择插入>柱形图>簇状柱形图,则在Excel表格中出现图形的设置窗口。
- 设置图形数据
...
- 。右键选择图形,在右键菜单中选择 选择数据。
...
- 则会弹出选择数据源窗口。在此窗口选择 切换/行列
...
- 功能。则行列进行切换。
...
...
- 选择 图例项(系列)
...
- 的编辑按钮。则会弹出 编辑数据系列
...
- 对话框。
...
-
在编辑数据集系列对话框,修改系列名称为"数量"
...
- 。点击 确定
...
- 按钮。
...
...
- 修改完成后,选择数据源对话框设置显示如下图,点击 确定
...
- 按钮,完成图形数据的设置。
- 移动图形窗口。 把图形设置窗口剪切后粘贴到Excel的sheet2页面中。并设置sheet1隐藏。
- 发布电子表格。通过发布把电子表格保存在产品资源目录树下。
...
- 点击工具栏上 发布
...
- 按钮,会弹出"保存"对话框, 根据需要选择保存路径和名称,保存此电子表格。 发布完成后,我们可以登录产品Web端,在资源树下打开电子表格进行查看。
- 预览电子表格
...
- 。可以点击工具栏上 预览
...
- 按钮,预览数据,如下图:
集成电子表格
电子表格可以方便地集成到客户现有的门户系统中,或者是任意其它系统中。关于系统集成的详细说明请参考系统集成开发指南。 在外部系统中使用 IFrame 方式打开电子表格。通常做法是在页面中放置一个
...
iframe 标签,然后通过 src 属性访问电子表格的资源链接即可。 资源链接通过openresource.jsp来调用资源,有两种方式:
- 使用URL打开资源,传递用户名、密码、资源ID。为了安全原因,也可以用 POST 方式传递上述参数值。URL说明如下图:
URL地址示例如下:{+}http://localhost:28080/spreadsheet/vision/openresource.jsp?resid=I402881063fd61f6a014940e8e7a8020e&user=admin&password=manage+
...