前一阵第一次接触到用自动用R发带附件的邮件,因此记录一下这个流程,以下的用法很适合用于发日报周报等定期需要发送的数据类邮件。
目前的用法如下:
- 准备好一个excel的数据模板(包括列名,数据说明页等)
- 在R中处理好数据,向模板中插入数据
- 在R中写好发邮件的脚本
- 在azkaban上程序定时执行脚本(也可以用R的定时包)
具体代码如下:
# 这是步骤1,2,向模板中插入数据
## load file contents
file <- "data_template.xlsx"
wb <- loadWorkbook(file)
sheets <- getSheets(wb)
## Set sheets(假设有多个sheet)
weekly_summary <- sheets[[1]]
Daily_Summary <- sheets[[2]]
Detailed_Data <- sheets[[3]]
## 加入数据(假设有多个sheet)
addDataFrame(weekly, weekly_summary, col.names = FALSE, row.names = FALSE,
startRow = 2)
addDataFrame(daily, Daily_Summary, col.names = FALSE, row.names = FALSE,
startRow = 2)
addDataFrame(df, Detailed_Data, col.names = FALSE, row.names = FALSE,
startRow = 2)
file_name = paste0(