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

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

版本 1 下一个 »


1、查看资源节点ID

  • 找到需要预缓存的电子表格资源,右键点击该资源,查看“属性”。

  • 记录下该资源的“节点ID”。


2、创建计划任务

  • 选择左侧“系统导航栏”内的 “系统运维”,点击“常用工具”菜单栏内的“计划任务”。

  • 进入“任务”页签下,新建任务。

  • “新建任务”界面如下

  • 填写任务名称,任务类型选择“定制”,将下方示例宏代码复制到“自定义设置”区域内。
importPackage(Packages.smartbi.sdk.service.spreadsheetreport);
importPackage(Packages.java.io);

// 需要缓存的报表
var reportIdList = [];
reportIdList.push("I402882820158093309337420015809fa3f40010e");
// 报表对应的参数,初始为空
var paramsInfoList = [];
//如果不设置参数,则paramsInfo的值必须为空字符串,不能为空数组
paramsInfoList.push("");
var spreadSheetReportService = new SpreadSheetReportService(connector);
for (var i = 0; i < reportIdList.length; i++) {
  var queryResult = spreadSheetReportService.openQuery(reportIdList[i]);
  for (var j = 0; j < paramsInfoList.length; j++) {
    var clientId = queryResult.get('clientId');
    var postData = "refreshType=refresh";
    postData += "&clientId=" + clientId;
    postData += "&resid=" + reportIdList[i];
    postData += "&sheetIndex=" + 0;
    postData += "&pageId=" + 0;
    postData += "&writeBackData=" + "";
    postData += "&exportSheetIndexes=" + "";
    postData += "¶msInfo=" + paramsInfoList[j];
    //postData += "&op=" + '{"getTotalPages":true}'; // 清单报表需要加上这一行代码
    postData += "&exportFormula=" + "";
    connector.download("/vision/ssreportServlet", postData, new ByteArrayOutputStream());
  }
  spreadSheetReportService.closeQuery(reportIdList[i]);
}


手动执行任务,进行报表资源离线,如图1,生成的文件如图2

清空系统缓存
3、在smartbi上打开此报表资源,如图3
4、查看服务端-用户日志,发现用户日志会执行sql,如图4,说明缓存不生效

  • 无标签