温馨提示
本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。
示例说明
在电子表格中是有缓存存在的。如下电子表格中使用了Excel的函数获取当前时间。在smartbi中多次打开该报表,会发现时间是没有发生变化的。
可通过宏代码禁止电子表格的缓存。
注意:如果数据集禁用了缓存就不需要这样做,只有当电子表格应用的数据集允许缓存,但是电子表格不允许缓存才需要
设置方法
- 在电子表格设计器 Excel 中,创建一张电子表格报表。
- 在浏览器的资源定制节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面。
- 在报表宏界面新建服务器端模块,在弹出的新建模块对话框中选择对象为spreadsheetReport;事件为onBeforeOutput;并把下面的服务器宏代码复制到代码区域。
服务器宏类型
类型
对象
事件
ServerSide
spreadsheetReport
onBeforeOutput
服务器宏代码
function main(spreadsheetReport) { spreadsheetReport.cacheable = false; }
资源下载:migrate禁止缓存.xml