EasySQLMAIL系统操作手册->任务管理->任务配置

3 任务配置

3.1 任务信息

3.2 邮件模板

3.2.1 正文模板

3.2.2 附件模板

3.2.3 创建附件模板

3.2.4 附件模板查询语句配置

3.2.5 引用附件模板

3.2.6 编辑HTML内容

3.2.7 设计Excel表格模板

3.2.8 在邮件正文中插入图表

 

3 任务配置

您可以点击任务管理界面工具条上的“创建高级任务”按钮打开任务配置界面。

3.1 任务信息

新建任务对话框

在这个对话框中:

任务ID 由EasySQLMAIL自动生成
任务名称 输入任务的描述性名称。例如,“按日提取营销数据”。该名称在发送数据提取码时,会显示在数据提取码的邮件中,因此建议为任务取一个比较容易理解的名称。
任务已停用 如果选中,任务会被停用。
  • 注意:任务停用后,任务的执行计划将不会被执行,并且也不能通过发送数据提取码来进行自助取数。如果有其它任务引用了被停用的任务,这些引用的任务也会执行失败。
任务说明 可以为任务输入一些备注信息,以便于以后的维护与管理。

3.2 邮件模板

在邮件模板配置中,您可以设置任务的正文和附件内容,以及提取数据的SQL语句。EasySQLMAIL将根据您配置的内容来提取数据并生成发布数据的邮件。

3.2.1 正文模板

邮件正文模板配置界面

可以在这里输入邮件的正文内容。邮件正文是一个HTML文档。您可以在邮件正文中插入小型的表格和统计图表等内容。有关HTML的更多信息,请参阅“编辑HTML内容”。

3.2.2 附件模板

附件是指EasySQLMAIL在生成邮件时要发送的附件文件。在附件管理中,您可以配置提取、转换数据的方式,EasySQLMAIL将按照附件配置中的内容进行数据提取和转换,并将转换后的数据文件添加到邮件的附件中。

附件模板管理界面

新建附件 点击新建附件。
引用附件模板 点击后新建一个引用型的附件模板。
上移、下移 调整模板的执行顺序。
  • 说明:在执行任务时,邮件正文模板总是会第一个被执行。

3.2.3 创建附件模板 

点击“附件管理”界面工具条中的“新建附件”按钮,打开“创建新附件模板”对话框。

创建新附件模板对话框

在这个对话框中:

模板名称 为附件模板输入一个名称,可以为空。
附件类型 EasySQLMAIL支持三种附件类型:
  • 简单行列式表格。这种附件不需要指定模板文件。由EasySQLMAIL自动根据SQL查询的结果,将数据填充到一个新建的Excel表格中。生成的表格中的第一行是SQL查询结果中的列名,第二行开始,是查询的结果数据。
  • HTML格式文本。这种附件是一个HTML文档。通常用于显示一些统计类的摘要信息。
  • 自定义Excel文件。您可以自己设计Excel表格的模板,由EasySQLMAIL根据模板的内容生成附件文件。
将表格内容添加到邮件正文中发送 对于“简单行列式表格”和“HTML格式文本”,您可以指定将表格显示到邮件的正文中,而不是以附件文件的形式发送。
  • 提示:为了保证邮件能正常显示,如果查询返回的行数超过了300行,这时EasySQLMAIL会自动将查询结果转换为Excel表格作为邮件的附件发送。
将表格显示到变量的位置上 如果使用了“将表格内容添加到邮件正文中发送”选项,您可以在这里选择将表格显示到邮件正文件中的哪个位置上。例如,邮件正文如下:
各位好。
这是今天的统计表,请参考。
#统计表格#
如有疑问,请联系:admin@huaheng.com.cn

上面的正文中,有一个变量“统计表格”。在指定表格显示位置时,您可以将表格显示到这个位置上。
发送时将文件名显示为 您可以指定发送时要显示的附件文件名。如果不指定,EasySQLMAIL将使用模板文件的名称作为附件文件名。
附件文件名中可以使用变量。
创建新查询 为附件模板创建一个新的SQL查询语句。该查询语句将确定EasySQLMAIL如何提取和转换数据。
上移、下移 调整附件模板中语句的执行顺序
模板变量 创建或管理附件模板中的变量。请参阅“变量配置”
如果查询语句没有生成任何数据,则不发送此附件 选择当模板查询出的数据结果为空时,是否要将此模板作为邮件附件发送。
不将此模板作为附件文件发送 选择此选项后,此模板将不会被加入到生成的邮件的附件中。当只想将表格中的图表显示到正文中,并不想让表格作为附件发送时,可以选择此选项。

3.2.4 附件模板查询语句配置

通过附件模板查询语句配置,可以指定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;

  • 注意,EasySQLMAIL执行同一个配置里的多个语句时,会将最后一个语句作为提取数据的SQL语句执行。所以最后一个语句必须是SELECT语句。
测试SQL语句 对输入的SQL语句进行测试,EasySQLMAIL会连接到指定的数据源,并执行输入的SQL语句。
SQL语句执行完毕后,EasySQLMAIL会将执行的结果显示在“SQL测试结果”中,同时将SQL语句返回的字段列表显示在“未关联的数据字段”列表中。
  • 注意,"SQL语句测试"本质上就是运行输入的SQL语句。如果SQL语句中有DDL语句,例如DROP TABLE,ALTER TABLE等,这些语句将被执行。因此,在测试前,请确保要测试的SQL语句对于数据是安全的。
未关联的数据字段 列出了SQL测试时返回的查询结果的数据字段列表。您可以在这里选择将数据字段与模板中的数据单元格进行关联,关联后,数据字段将被显示到指定的单元格上。
选择数据字段时可以按下Ctrl+鼠标左键进行多选。
  • 建议在编写SQL语句时,为数据字段取一个与数据单元格名称一致的字段别名。

    例如,要将SQL语句中的user_name字段显示到表格模板中的“用户名称”单元格上,在编写SQL语句时,可写为:

    SELECT user_name AS “用户名称” FROM table1;

    这样,在进行数据字段与数据单元格关联时,只需要选中“未关联的数据字段”中的“用户名称”,然后直接点击“增加关联关系”,EasySQLMAIL会自动匹配与字段名称相同的数据单元格,并建立数据字段与数据单元格的关联关系。

未关联的单元格 列出了还没有与数据字段建立关联关系的数据单元格
如果要将数据单元格与数据字段建立关联关系,可先选中要关联的数据单元格,然后选中要关联的数据字段,并点击“增加关联关系”,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表格中数字会被显示为科学计数法,不便于查看。这时可以使用此选项,查询出的数字将被显示为文本,可以避免科学计数法显示。
文本自动换行 指示文本太长时,是否对文本换行显示。默认为“是”。此选项仅对“简单行列式表格”有效。

 

3.2.5 引用附件模板

引用附件模板是EasySQLMAIL中一种特殊的附件模板。

引用附件模板时,附件模板使用被引用的附件模板的查询语句和模板文件。当要用同样的SQL语句生成多个不同的表格,并且每次执行SQL语句时的变量不同,这时,只需要配置一个普通附件模板,将SQL语句中要改变的部份设置为变量,然后再建立若干个附件模板来引用这个附件模板,引用附件模板中对变量赋予不同的值,即可实现模板的重复使用,免去了多次配置同样的模板的麻烦。

引用附件模板可以有自己的变量设置。

关于引用附件模板,有以下几点需要注意:

1、普通用户只能引用自己创建的任务中的附件模板。Admin用户可以引用所有任务中的附件模板。

2、附件模板不能多重引用。例如,附件模板B引用了普通附件模板A,那么B就不能再被其它附件模板引用。

3、如果被引用的附件模板本身被停用或删除,或是被引用的附件模板所在的任务被停用或删除,那么引用该附件模板的其它任务将会执行失败。

4、修改了被引用的附件模板的SQL语句配置后,所有引用这个附件模板的其它附件模板也会同样被修改。

5、修改被引用的附件模板中的变量名时,并不会修改引用它的其它附件模板中的同名变量。

6、引用附件模板的变量查找顺序为:附件模板本身->被引用的附件模板->附件模板所在的任务->被引用的附件模板所在的任务。

7、引用附件模板可以有自己的模板名称和变量表。其它配置(例如SQL语句配置)均与被引用的附件模一致,且不能修改。

创建引用附件模板时,先点击“附件管理”界面上的“引用附件模板”按钮。系统将显示可引用的附件模板列表。

引用模板对话框

在这个界面中列出了可引用的附件模板列表。
选择好要引用的附件模板后,点击“确定”,系统会显示“引用模板选项对话框”:

引用模板选项对话框

在这个对话框中:

将引用模板的变量表复制到新模板中 选择是否将被引用的附件模板中的模板变量复制到新的附件模板中。如果选中,在创建新的附件模板时,会将被引用的附件模板中的模板变量复制到新附件模板中,可以免去逐一创建变量的麻烦。

点击“确定”后,系统显示“创建引用附件模板”对话框。

引用附件模板对话框

点击“确定”,系统将创建一个新的引用附件模板。

3.2.6 编辑HTML内容

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文档中

3.2.7 设计Excel表格模板

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表格

3.2.8 在邮件正文中插入图表

您可以将Excel模板中设计好的统计图表显示到邮件的正文中。

1、在Excel中创建一个带图表的Excel模板文件。

创建一个带图表的Excel模板文件

2、在任务配置界面中创建一个"自定义Excel文件"类型的附件模板,将设计好的Excel模板上传到系统中,并设置好SQL查询。

创建自定义附件模板

3、 在邮件正文编辑窗口中,将光标设置到要显示图表的位置,然后点击工具条上的按钮,打开插入图表对话框,选择要插入的图表。

选择要插入的图表

4、选择好图表后,EasySQLMAIL会在编辑器中当前位置上创建一个图表占位符。

正文中显示了图表占位符

下图是执行后的效果:

执行后图表显示到了邮件正文中