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

(本计划任务脚本仅供参考,实际应用效果需要自行根据实际场景进行代码调整。)

问题

如何实现定时导出电子表格为word文件后推送到企业微信指定用户

解决方案

前提:需参考wiki部署企业微信集成功能,企业微信集成  ,并且扩展包需具备,企业微信工具箱

设置定时任务脚本导出word文件后调用调用 企业微信工具箱中上传素材文件的接口,获取到媒体ID,最后推送到企业微信指定用户。

// 导出Word文件
var reportID = 'I402882c701552f492f49736e01552f4df2c50013';
var reportParamSetting = [
    {id:"SQL映射名称或描述",value:"",displayValue:""}
];
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":"","exportSheetIndexes":"","fileNameSufParams":true,"exportTimestamp":false},
  taskName: taskName,
  exportType: "WORD"
});
openReportOutput.resourceHandle.close();
var outputFile = exportReportOutput.file;
 
//上传媒体素材文件, 媒体文件类型,分别有图片(image)、语音(voice)、视频(video),普通文件(file)
var mediaId = Packages.smartbi.weixin.util.QyApiService.uploadMediaFile("file", outputFile);
logger.info("==============>"+mediaId);

// appid
var appid = "1";
 
// 发送人,可以选人或者部门
var receiver = JSON.stringify({
    "user": "xxx"
});

// 发送文件类型的信息
var msg = JSON.stringify({
    "msgType": "file",
    "msgContent": {
        "media_id": "" + mediaId
    }
});
// 发送
connector.remoteInvoke("WeiXinModule", "sendAppMessage", [ appid, receiver, msg]);
  • 无标签