示范资源路径: “分析展现”下, “分析报表” > “功能演示” > “电子表格” > “常见报表” > “分组报表”
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]); } |
若选择的电子表格资源是清单报表,则需要加上宏代码中的相应语句(将注释符号“//”去掉即可) |