需求:每天从数据库中提取数据,并且每天定时发送到指定邮件(以QQ邮箱为例)
整体job
一、获取文件名部分
这里采用每天动态生成文件名,根据时间生成。
JavaScript代码:
function getDate(index){
var date = new Date(); //当前日期
var newDate = new Date();
newDate.setDate(date.getDate() + index);//官方文档上虽然说setDate参数是1-31,其实是可以设置负数的'
var month_char = (newDate.getMonth()+1);
if (month_char < 10)
{
month_char = '0'+ month_char;
}
var day_char = newDate.getDate();
if (day_char < 10)
{
day_char = '0'+ day_char;
}
var time = newDate.getFullYear()+""+month_char+""+day_char;
return time;
}
var url='file_name'+getDate(0)+'.xlsx';
接着在设置变量组件获取变量,并测试脚本,测试代码是否正确。
接着设置变量名,如果不设置,变量名默认为字段名称的全部大写
获取文件名组件填写上一步设置的转换路径
二、添加文件到结果文件中:获取需要发送的邮件附件
文件/目录是文件的存放路径,通配符是上一步设置的变量,kettle引用格式为:${变量名}
三、设置邮件信息
QQ邮箱需要开启SMTP服务,根据提示开通即可