EasySQLMAIL系统操作手册->任务管理->任务配置
您可以点击任务管理界面工具条上的“创建高级任务”按钮打开任务配置界面。
新建任务对话框
在这个对话框中:
任务ID | 由EasySQLMAIL自动生成 |
任务名称 | 输入任务的描述性名称。例如,“按日提取营销数据”。该名称在发送数据提取码时,会显示在数据提取码的邮件中,因此建议为任务取一个比较容易理解的名称。 |
任务已停用 | 如果选中,任务会被停用。
|
任务说明 | 可以为任务输入一些备注信息,以便于以后的维护与管理。 |
在邮件模板配置中,您可以设置任务的正文和附件内容,以及提取数据的SQL语句。EasySQLMAIL将根据您配置的内容来提取数据并生成发布数据的邮件。
邮件正文模板配置界面
可以在这里输入邮件的正文内容。邮件正文是一个HTML文档。您可以在邮件正文中插入小型的表格和统计图表等内容。有关HTML的更多信息,请参阅“编辑HTML内容”。
附件是指EasySQLMAIL在生成邮件时要发送的附件文件。在附件管理中,您可以配置提取、转换数据的方式,EasySQLMAIL将按照附件配置中的内容进行数据提取和转换,并将转换后的数据文件添加到邮件的附件中。
附件模板管理界面
新建附件 | 点击新建附件。 |
引用附件模板 | 点击后新建一个引用型的附件模板。 |
上移、下移 | 调整模板的执行顺序。
|
点击“附件管理”界面工具条中的“新建附件”按钮,打开“创建新附件模板”对话框。
创建新附件模板对话框
在这个对话框中:
模板名称 | 为附件模板输入一个名称,可以为空。 |
附件类型 | EasySQLMAIL支持三种附件类型:
|
将表格内容添加到邮件正文中发送 | 对于“简单行列式表格”和“HTML格式文本”,您可以指定将表格显示到邮件的正文中,而不是以附件文件的形式发送。
|
将表格显示到变量的位置上 | 如果使用了“将表格内容添加到邮件正文中发送”选项,您可以在这里选择将表格显示到邮件正文件中的哪个位置上。例如,邮件正文如下: 各位好。 这是今天的统计表,请参考。 #统计表格# 如有疑问,请联系:admin@huaheng.com.cn 上面的正文中,有一个变量“统计表格”。在指定表格显示位置时,您可以将表格显示到这个位置上。 ![]() |
发送时将文件名显示为 | 您可以指定发送时要显示的附件文件名。如果不指定,EasySQLMAIL将使用模板文件的名称作为附件文件名。 附件文件名中可以使用变量。 |
创建新查询 | 为附件模板创建一个新的SQL查询语句。该查询语句将确定EasySQLMAIL如何提取和转换数据。 |
上移、下移 | 调整附件模板中语句的执行顺序 |
模板变量 | 创建或管理附件模板中的变量。请参阅“变量配置” |
如果查询语句没有生成任何数据,则不发送此附件 | 选择当模板查询出的数据结果为空时,是否要将此模板作为邮件附件发送。 |
不将此模板作为附件文件发送 | 选择此选项后,此模板将不会被加入到生成的邮件的附件中。当只想将表格中的图表显示到正文中,并不想让表格作为附件发送时,可以选择此选项。 |
通过附件模板查询语句配置,可以指定EasySQLMAIL如何查询数据和如何将数据填充到模板表格中。
点击附件模板属性对话框中的“创建新查询”,打开“创建新查询”对话框。
创建新查询对话框
在这个对话框中:
工作表名称 |
对于简单行列式表格,您可以在这里指定查询数据时新生成的工作表名称。如果不指定工作表名称,EasySQLMAIL会自动创建新的名为Sheet0,Sheet1等类型的工作表名称。 对于自定义Excel表格,您需要在这里选择要用于存放查询结果数据的工作表。 |
命名区域 | 对于自定义Excel表格,您可以在这里选择当前的SQL查询结果要填充的命名区域。选择命名区域后,“未关联的单元格”中将只列出所选区域中的数据单元格。 |
扩展方式 | 对于自定义Excel表格,该选项指定当SQL查询返回了多行记录时,如何在表格中进行扩展。默认的扩展方式是“向下扩展”。如果选择了“不扩展”选项,EasySQLMAIL将只把第一行记录显示到中,后续的记录将不被显示。 |
SQL语句配置 | |
---|---|
数据源 | 执行选择SQL语句时要连接的数据源。 |
SQL语句 | 输入取数时要执行的SQL语句。如果有多个语句要执行,请在各个语句之间用”;”(分号)作为语句的结束符号,例如: --从TABLE2取数据到TABLE1中 INSERT INTO table1(user_id,user_name,fee) SELECT user_id,user_name,fee FROM table2 WHERE user_id <= 100; --从TABLE1中读取数据 SELECT user_id,user_name,fee FROM table1;
|
测试SQL语句 | 对输入的SQL语句进行测试,EasySQLMAIL会连接到指定的数据源,并执行输入的SQL语句。
SQL语句执行完毕后,EasySQLMAIL会将执行的结果显示在“SQL测试结果”中,同时将SQL语句返回的字段列表显示在“未关联的数据字段”列表中。
|
未关联的数据字段 |
列出了SQL测试时返回的查询结果的数据字段列表。您可以在这里选择将数据字段与模板中的数据单元格进行关联,关联后,数据字段将被显示到指定的单元格上。
选择数据字段时可以按下Ctrl+鼠标左键进行多选。
|
未关联的单元格 |
列出了还没有与数据字段建立关联关系的数据单元格。 如果要将数据单元格与数据字段建立关联关系,可先选中要关联的数据单元格,然后选中要关联的数据字段,并点击“增加关联关系”,EasySQLMAIL会为所选的数据字段和数据单元格建立关联关系,在执行时,会将所选数据字段的数据填充到对应的数据单元格中。 选择单元格时可以按下Ctrl+鼠标左键进行多选。 |
运行时动态确定表单字段 | 对于简单行列式表格,选择此选项后,EasySQLMAIL将在运行时根据SQL语句返回的结果集,动态地将结果集中的数据字段填充到表格中。例如,某统计表中的数据字段每天都会增加一列,这时就可以选择“运行时动态确定表单字段”,以便把每天增加的数据字段转换到Excel表格中。 |
其它选项 | |
如果SQL语句的查询结果为空,则中止任务 | 指定如果这个语句对象查询出的结果为空,则停止执行任务。例如,在某些情况下,当表中无数据时,就不需要执行任务和发送邮件,这时可以选择此选项。此选项的效果与SQL命令中的先决条件的效果相似。 |
在设计查询语句时,还可以指定一些特殊的数据字段显示选项。点击“未关联的数据字段” 列表中的“数据字段名称”列,显示“数据字段选项”对话框:
数据字段选项对话框
在这个对话框中:
将查询结果的内容作为HTML代码插入文档中 |
当选择此选项的时,对应数据字段内容将被作为HTML代码插入HTML文档中。您可以使用此选项来动态控制HTML的显示样式或在HTML文档中插入超链接。 例如,要在HTML文档中的一个表格中显示一个超链接,可以这样写查询语句: SELECT ‘<a href=http://www.newnet.com?id=’ || userId || ‘>点击查看用户资料</a>’ hyper_link FROM user 然后在数据字段选项中选择“将查询结果的内容作为HTML代码插入文档中”选项。 EasySQLMAIL在处理此字段的数据内容时,会将字段的内容作为HTML代码,显示到对应的数据单元格中。 该选项仅对邮件正文和HTML类型的附件模板有效。 |
点击“对应单元格/列名”,可以修改列的显示样式:
数据字段显示样式对话框
在这个对话框中:
列名显示为 | 可以指定要显示的列名。例如,数据库中查询出的列名为user_name,但显示时想将列名显示为“用户名称”,这时就可以设置“列名显示为”“用户名称”。该选项的效果类似于SQL语句中的AS语句。 |
列宽度 | 可以指定显示列的宽度,单位为“字”。例如,设置列宽度为20时,表示列的宽度是20个字符。如果不设置列宽度,EasySQLMAIL将根据列的内容自确定列宽度。 |
数字作为文本显示 | 当查询出的数字很大时,默认情况下在Excel表格中数字会被显示为科学计数法,不便于查看。这时可以使用此选项,查询出的数字将被显示为文本,可以避免科学计数法显示。 |
文本自动换行 | 指示文本太长时,是否对文本换行显示。默认为“是”。此选项仅对“简单行列式表格”有效。 |
引用附件模板是EasySQLMAIL中一种特殊的附件模板。
引用附件模板时,附件模板使用被引用的附件模板的查询语句和模板文件。当要用同样的SQL语句生成多个不同的表格,并且每次执行SQL语句时的变量不同,这时,只需要配置一个普通附件模板,将SQL语句中要改变的部份设置为变量,然后再建立若干个附件模板来引用这个附件模板,引用附件模板中对变量赋予不同的值,即可实现模板的重复使用,免去了多次配置同样的模板的麻烦。
引用附件模板可以有自己的变量设置。
关于引用附件模板,有以下几点需要注意:
1、普通用户只能引用自己创建的任务中的附件模板。Admin用户可以引用所有任务中的附件模板。
2、附件模板不能多重引用。例如,附件模板B引用了普通附件模板A,那么B就不能再被其它附件模板引用。
3、如果被引用的附件模板本身被停用或删除,或是被引用的附件模板所在的任务被停用或删除,那么引用该附件模板的其它任务将会执行失败。
4、修改了被引用的附件模板的SQL语句配置后,所有引用这个附件模板的其它附件模板也会同样被修改。
5、修改被引用的附件模板中的变量名时,并不会修改引用它的其它附件模板中的同名变量。
6、引用附件模板的变量查找顺序为:附件模板本身->被引用的附件模板->附件模板所在的任务->被引用的附件模板所在的任务。
7、引用附件模板可以有自己的模板名称和变量表。其它配置(例如SQL语句配置)均与被引用的附件模一致,且不能修改。
创建引用附件模板时,先点击“附件管理”界面上的“引用附件模板”按钮。系统将显示可引用的附件模板列表。
引用模板对话框
在这个界面中列出了可引用的附件模板列表。
选择好要引用的附件模板后,点击“确定”,系统会显示“引用模板选项对话框”:
引用模板选项对话框
在这个对话框中:
将引用模板的变量表复制到新模板中 | 选择是否将被引用的附件模板中的模板变量复制到新的附件模板中。如果选中,在创建新的附件模板时,会将被引用的附件模板中的模板变量复制到新附件模板中,可以免去逐一创建变量的麻烦。 |
点击“确定”后,系统显示“创建引用附件模板”对话框。
引用附件模板对话框
点击“确定”,系统将创建一个新的引用附件模板。
EasySQLMAIL支持在邮件中发送HTML内容。比如,您可以在邮件的正文中显示一个简单的统计表格,像下面这样:
包含了HTML内容的邮件正文
您可以使用EasySQLMAIL内建的HTML编辑器来编辑要发送的HTML内容。
HTML内容编辑界面
编辑HTML内容时,需要注意以下几点:
1、如果要在HTML内容中使用变量,请写为:#变量名#,变量名的前后加“#”号。EasySQLMAIL在执行任务时,会将这个位置的内容作为变量来处理。
2、如果要在HTML内容中显示SQL语句查询的结果,请写为:<%数据单元格名称%>。例如:
带有数据单元格的HTML表格
上例中,在HTML表格的第一列中定义了一个“子公司”数据单元格,在第二列中定义了一个“销售量”数据单元格,在第三列中定义了一个“销售金额”数据单元格。
在编写正文HTML内容时,可以点击HTML编辑器工具条上的“编辑HTML模板的SQL查询语句”按钮,配置邮件正文的模板查询语句。具体配置方法请参见“附件模板查询语句配置”。
配置邮件正文的模板查询语句
3、您也可以使用其它HTML编辑软件将HTML代码编辑好后,粘贴到EasySQLMAIL的HTML编辑器中。当使用其它HTML编辑软件编写HTML代码时要注意不要将CSS样式表写到HEAD节点中,而应该写到BODY节点中,如果写到HEAD节点中,将会被EasySQLMAIL忽略。
4、如果要在HTML内容中插入表格,您可以在Excel电子表格中编辑设置好表格的行、列和样式,然后点击EasySQLMAIL的HTML编辑器工具条上的“ ”按钮,EasySQLMAIL会将您在Excel中已编辑好的表格转换为HTML表格,并插入到HTML编辑器中。注意,因为HTML表格中不能进行公式计算,Excel表格中的公式单元格将不被处理,另外,Excel表格中的图表和宏也不能被处理。
在Excel中设计好表格样式和数据单元格内容
上传设计好的Excel表格
表格被转换到HTML文档中
EasySQLMAIL允许将提取到的数据填入您自己设计的表格模板中。
当简单行列式表格不能满足您的要求时,您可以自己设计一个表格模板,然后设计好取数的SQL语句,并配置好语句的查询结果与表格中的数据单元格的对应关系,EasySQLMAIL就可以按您的要求,将数据填入您所设计的模板表格。
设计自定义表格时,请按以下步骤进行:
(1) 在Excel中新建一个表格文件;
(2) 在表格中,填入数据的标题,并且设计好数据单元格。例如,一个SQL语句的查询结果如下:
字段名 | user_name | buy_date | price | buy_count | amount |
---|---|---|---|---|---|
显示到表格中的列名 | 用户名称 | 购买日期 | 单价 | 购买数量 | 总价 |
要把这个查询语句的结果显示到自定义表格中,设计的自定义表格如下:
设计好的自定义表格
表格中的<%user_name%>就是一个数据单元格。一般情况下,建议数据单元格名称应该与SQL语句查询时返回的列名一致。
(3) 在模板表格中使用公式时应注意,EasySQLMAIL在填充多行数据到表格中时,不会修改公式的内容。例如,有如下表格模板:
包含了公式的自定的Excel文件模板
表格中的D3单元格是一个公式单元格,公式的内容是对D2(即<%buy_count%>)进行求和。如果SQL语句执行后返回了多行结果,在填充表格时,EasySQLMAIL不会对D3的公式进行修改。这时生成的结果表中,D3的内容就始终只是SUM(D2)的结果,没有达到求和的目的。
为了避免这种情况,您可以在D2单元格上定义一个命名区域,并将这个命名区域作为SUM函数的参数。具体方法是:
a) 在Excel界面上按下快捷键Ctrl+F3,打开Excel的名称管理界面:
Excel名称管理器对话框
b) 在名称管理器中,点击“新建”,创建一个新的名称:
新建名称
c) 在“名称”中输入一个名称,例如“购买数量”。
d) 然后,点击“引用位置”右边的“ ”按钮,选择D2(即<%buy_count%>)单元格作为命名区域的范围:
选择命名区域的范围
区域范围选择好后,按回车键确定。
创建好的命名区域
e) 创建好命名区域后,回到表格编辑界面,对公式单元格的公式进行修改, 将公式内容修改为“SUM(购买数量)”。这样修改之后,EasySQLMAIL就能够正确生成公式单元格的数值了。
修改公式
执行后生成的表格效果
(4) 如果表格中嵌入了图表,也应该使用命名区域作为图表的数据源。例如,有如下的表格:
包含了图表的Excel表格
表格中有一个“按日统计”图表。如果直接将图表的数据系列设置为A2(<%统计日期%>)和C2(<%销售收入%>),EasySQLMAIL在生成表格时,不会对图表的数据系列的范围进行修改,这样,生成的表格中的图表就只包含了第一行的数值。
因此,在设计图表时,应该使用命名区域来避免这个问题。具体步骤如下:
a) 在模板表格中设计好表格标题,插入图表:
在Excel模板中插入图表
b) 在表格中,按下Ctrl+F3,打开“名称管理”界面,并新建两个命名区域:
在对数据单元格上创建两个命名区域
c) 在图表上单击鼠标右键,点击“选择数据”菜单项。打开“选择数据源”对话框:
选择数据源对话框
点击对话框中的“图例项(系列)”中的“添加”按钮,打开“编辑数据系列”对话框:
编辑数据系列对话框
注意,这里不要直接在表格上选择单元格,而是要输入
='电子表格文件名.xlsx'!统计日期
例如,模板电子表格的文件名为“按日统计表.xlsx”,那么这里就要输入
=’ 按日统计表.xlsx’ !统计日期
表示图表的数据系列引用的是”按日统计表.xlsx”文件中的“统计日期”命名区域的内容。
编辑好的数据系列
“系列值”和“水平(分类)轴标签”的设置方法也和“系列名称”一致。
设置轴标签
d) 按上述方法设置后,EasySQLMAIL就能够正确处理图表了。
任务运行后生成的带图表的Excel表格
您可以将Excel模板中设计好的统计图表显示到邮件的正文中。
1、在Excel中创建一个带图表的Excel模板文件。
创建一个带图表的Excel模板文件
2、在任务配置界面中创建一个"自定义Excel文件"类型的附件模板,将设计好的Excel模板上传到系统中,并设置好SQL查询。
创建自定义附件模板
3、
在邮件正文编辑窗口中,将光标设置到要显示图表的位置,然后点击工具条上的按钮,打开插入图表对话框,选择要插入的图表。
选择要插入的图表
4、选择好图表后,EasySQLMAIL会在编辑器中当前位置上创建一个图表占位符。
正文中显示了图表占位符
下图是执行后的效果:
执行后图表显示到了邮件正文中