页面树结构
转至元数据结尾
转至元数据起始

该宏示例在 V10.5上 验证通过

提示:

1)本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如报表使用冻结,或多个宏代码冲突等),需根据实际需求开发代码。

2)对多个报表禁止缓存,可能导致数据库压力增大。

示例说明     

在系统中,存在报表缓存和数据集缓存:

1、电子表格有缓存,但是数据集禁止了缓存。

2、电子表格和报表数据集同时存在缓存。

如下电子表格中通过数据集获取当前时间,同时使用了Excel的函数获取当前时间作为对比。在smartbi中多次打开该报表,会发现数据集的时间是没有发生变化的,所以可通过宏代码禁止缓存。

设置方法

  1. 电子表格设计器 Excel 中,创建一张电子表格报表。

  2. 在浏览器的资源定制节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面

  3. 在报表宏界面新建服务器端模块,在弹出的新建模块对话框中选择对象为spreadsheetReport;事件为onBeforeOutput;并把下面的服务器宏代码复制到代码区域。

服务器宏类型

类型

对象

事件

ServerSide

spreadsheetReport

onBeforeOutput


服务器宏代码


function main(spreadsheetReport) {
    spreadsheetReport.cacheable = false;
}


资源下载

报表资源: migrate.xml