本文介绍如何使用计划任务对指定电子表格资源实现定时保存操作。
1、记录资源节点ID
- 找到需要定时保存的电子表格资源,右键点击该资源,查看“属性”。
示例资源: “分析展现”下, “分析报表” > “功能演示” > “电子表格” > “常见报表” > “分组报表”


2、
- 选择“系统导航栏”内的 “系统运维”,接着点击“常用工具”菜单栏内的“计划任务”。



- 填写任务名称,任务类型选择“定制”,将下方宏代码复制到“自定义设置”区域内,用先前记录下的资源“节点ID”替换掉宏代码指定部分。
importPackage(Packages.smartbi.net.sf.json);
var log = org.apache.log4j.Logger.getLogger("smartbi.dao.DAOModule");
// 打开报表,下面的报表ID需要替换成需要定时保存的报表资源ID
var reportIdArr = ["I8a8084d40191d984d984bfba0191db5797341b2a"];
for (var i in reportIdArr) {
var reportId = reportIdArr[i];
var report = connector.remoteInvoke('SpreadsheetReportModule', 'openQuery', [reportId]);
var result = JSONObject.fromObject(report.getResult());
var clientId = result.getString("clientId");
// 调用回写表保存方法
connector.remoteInvoke('SpreadsheetReportModule', 'saveWriteBack', [clientId, "[]", "{}", "{}"]);
// 关闭报表
connector.remoteInvoke('SpreadsheetReportModule', 'closeQuery', [clientId]);
}
- 点击“测试运行”校验任务,任务测试运行成功便点击“保存”按钮保存任务。
- 找到刚才创建的任务,点击“执行任务”。