(本文档仅供参考)

问题

        在通过计划任务将报表导出到本地的时候,如何实现导出的报表文件名称为 :报表名称_日期.xls的格式

解决方案

可使用计划任务配置界面先配置“报表导出”,配置报表导出文件名及路径,然后“查看运行脚本”(见下图),基于这个脚本创建一个定制任务,并修改对应代码中文件名为带日期的:

以下是完整的脚本内容:

 

 

var reportID = 'I4028818a015bcd86cd86884a015be7213d090a5e';
var reportParamSetting = [
];
var openReportOutput = execute('openResource', {
  connector: connector,
  reportId: reportID
});
var enumerateParamValuesOutput = execute('enumerateParamValues', {
  resourceHandle: openReportOutput.resourceHandle,
  byEveryParam: false,
  paramsSetting: reportParamSetting
});
var exportReportOutput = execute('exportResource', {
  connector: connector,
  resourceHandle: openReportOutput.resourceHandle,
  paramSettingIterator: enumerateParamValuesOutput.getParamValues(),
  exportSetting: {"delimiter":"","pathId":"","fileNameSufParams":true},
  taskName: taskName,
  exportType: "EXCEL2007"
});
openReportOutput.resourceHandle.close();
var outputFile = exportReportOutput.file;
importPackage(Packages.java.text);
importPackage(Packages.java.util);
var cDate = new SimpleDateFormat("yyyyMMdd").format(new Date());
var fileName = outputFile.getName();
var subfixIndex = fileName.lastIndexOf(".");
fileName = fileName.substring(0,subfixIndex) + cDate + fileName.substring(subfixIndex);
var sendToFileOutput = execute('sendToFile', {
file: outputFile,
sendSetting: {path: 'c:/', filename:fileName}
});var ret = {
};
ret;