利用EasySQLMAIL实现自动填写Excel表格并发送邮件

Posted 郭大侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用EasySQLMAIL实现自动填写Excel表格并发送邮件相关的知识,希望对你有一定的参考价值。

利用EasySQLMAIL实现自动填写Excel表格并发送邮件

转自:http://blog.sina.com.cn/s/blog_1549483b70102witg.html

前一篇博文中记录了“利用EasySQLMAIL实现自动数据提取和邮件发送功能”,里面的方法只能将SQL语句查询出来的数据一行一行地原样转换到Excel表格中。但我们有一些Excel表格的样式是设计好了的,比如这种表格:
 
技术分享图片
 
表格中的单元格都是事前设计好的。每星期都需要执行几个SQL语句,并且把SQL语句的统计结果填写到表格中,发给其他部门。
 
仔细研究了EasySQLMAIL的手册和网站上的教程,发现其实可以用这个工具来实现自动填写和发送。
经过两天的配置和测试,终于成功。在这里把方法记录一下。
 
1、先设计好Excel模板表格。主要是把表格中要填数字的地方用数据单元格标识出来,这样EasySQLMAIL才能识别出哪些地方需要填写数据。修改后的模板变成这样:
技术分享图片


2、为了让统计表能够扩展,需要在A5:F5的范围内创建一个“名称”。选中A5:F5这个范围,按Ctrl+F3,名称输入"销售统计表":
技术分享图片

3、设置合计行公式。也是要在B3,C3,D3,E3,F3上分别创建“名称”,创建后的名称像下面这样:
技术分享图片
 
4、设置合计行的公司为SUM(销售量)、SUM(销售金额)、SUM(购物卡支付) 、SUM(现金支付)、SUM(POS机支付)。就是将SUM公式中的单元格编号换成“名称”。
技术分享图片
 
5、在EasySQLMAIL中创建一个任务,把做好的附件模板上传到系统中。
技术分享图片
 
6、设置取数的SQL语句。取数SQL一共有两个,一个是取分公司名称和统计时间的SQL,还有一个是取统计表内容的SQL。
先设置取分公司名称和统计时间的SQL:
技术分享图片


 
然后设置取统计表数据的SQL。注意,“命名区域”要选择刚才新建的名称“销售统计表”。
技术分享图片

 

附件模板设置好后,再简单设置一下邮件正文和收件人等内容,最后再设置一下执行计划:
技术分享图片

执行计划的起始时间要选成星期一的日期,凌晨3点运行一次。
 
下面是执行后的效果:
 
技术分享图片

这样设置后,任务每个星期一早上3点执行,并且把表格填好后发给指定的人。例子中的查询条件stat_date = to_date(‘2015-10-12‘,‘yyyy-mm-dd‘)在实际使用的时候需要改成stat_date = trunc(sysdate),就是取当天的日期。
 
这几天比较忙,等空下来再研究一下在邮件里面显示统计图表的问题。
 
更详细的配置方法可以参考EasySQLMAIL的官方网站上的手册和文档。
 
http://www.easysqlmail.com 官方网站
 
http://www.easysqlmail.com/manual/index.html 操作手册
 
http://www.easysqlmail.com/docreader.php?id=346 EasySQLMAIL使用教程-使用自定义Excel文件模板
 
http://www.easysqlmail.com/docreader.php?id=348 在Excel表格中使用命名区域

 














以上是关于利用EasySQLMAIL实现自动填写Excel表格并发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

怎么样设置excel工作表当实际时间到单元格里填写的时间时自动改变字体颜色 ?

利用按键精灵,把数据从excel自动填写到web网页上,应该怎么写

matlab实现跨表自动对应标题填写数据

有没可以将Excel数据自动填写到表单的软件?

如何利用excel实现自动换行?

Excel表怎么让单元格自动调整宽度?