Excel表格的自动化处理和推送(一)-自动填写和推送Excel报表       

使用快速信息分发工具分发Excel表格记录

公司要求每月1号从故障处理系统中查询分公司上月的统计数据和故障清单并填写到维护部门制作的Excel模板表格里,然后通过企业邮箱发送给分公司维护部经理。本文向您介绍如何实现这个过程的自动化处理。

 

要推送的表格的格式如下:

 

配置方法:

1、设计Excel模板表格,在模板表格中需要填写SQL数据的位置上设置“数据单元格”标记:

 

2、在EasySQLMAIL中创建信息推送任务,上传Excel模板表格:

 

3、为附件模板添加第一个SQL语句,用于查询"故障数量":

 

SQL语句如下:

--查询上月分公司故障统计数据
SELECT 分公司,
       To_char(发生时间, 'yyyymm') AS 月份,
       Count(1)                        AS 故障数量
FROM   t_stat1
WHERE  分公司 = '青阳公司'
       AND To_char(发生时间, 'yyyymm') =
           To_char(Add_months(sysdate, -1), 'yyyymm')
GROUP  BY 分公司,
          To_char(发生时间, 'yyyymm') 

4、设置SQL字段与Excel模板表格的对应关系:

 

5、为附件模板创建第二个SQL语,用于查询"处理完成量":

 

SQL语句如下:

-查询处理完成(处理时间非空)的故障数量SELECT Count(1) AS 处理完成量
FROM   t_stat1
WHERE  分公司 = '青阳公司'
AND    To_char(发生时间,'yyyymm') = To_char(Add_months(sysdate,-1),'yyyymm')
AND    处理时间 IS NOT NULL;

6、设置第二个SQL语句字段与模板表格的对应关系:

 

7、为附件模板添加第三个SQL语句,用于查询故障清单:

SQL语句如下:

--查询故障清单
SELECT   区域,
         设备地址,
         故障类型,
         发生时间,
         处理时间from t_stat1where 分公司 = '青阳公司'
AND      to_char(发生时间,'yyyymm') = to_char(add_months(sysdate,-1),'yyyymm')
ORDER BY 发生时间

8、设置第三个 SQL语句与模板表格的对应关系:

 

9、设置邮件收件人:

 

10、设置自动执行时间(执行计划):

 这里设置为从5月1日起每月1号早上9点执行。

 

运行效果:

任务配置完成后,EasySQLMAIL将在每月1号早上执行这个任务,并把填写好的表格发送给"青阳维护经理<qingyang1@test.com>"。下面是执行的效果:

-系统自动填写的表格内容:

-通过电子邮件推送:

-通过企业微信或钉钉推送:

在任务的“收件人”中选择了企业微信收件人时,系统会自动把附件文件通过企业微信推送给员工:

 

企业微信推送结果:

 

说明:

(1) 除了上述的方式外,EasySQLMAIL还能够实现点对点信息推送、通过变量动态确定推送内容和收件人等功能。详细信息可参阅EasySQLMAIL的其他相关文档了解。

(2) 执行计划仅在EasySQLMAIL企业版中提供,EasySQLMAIL桌面版不支持执行计划。

 

相关链接:

应用案例:利用EasySQLMAIL实现点对点信息分发

在SQL语句中实现电子邮件、企业微信和钉钉信息推送

EasySQLMAIL执行计划配置案例

 

文档最后更新时间:2022-09-06