在发送邮件的过程中我们经常会将表格放在邮件的正文中,那么怎么用UiPath来实现这个功能呢?表格与文字的格式不同,用文字的格式自然无法识别表格,UiPath给出的解决方案是:将邮件正文的内容Html(超文本标记语言)化,html显然比一般的文本要高级,具体的实现步骤如下:
1.新建一个序列流程并取名,在“活动”栏搜索“Excel”;
2.选择“Excel应用程序范围”;
3.拖入到序列中输入需要发送的excel文件路径及名称,置于英文引号下,或者通过文件夹找到相应的文件选择即可。如果该文件打开或编辑时需要密码通过,则在“属性”>“文件”选项内填入并置于英文引号内即可;
4.选择“Excel应用程序范围”中的“读取范围”并拖入到序列中;
5.确认需要读取的excel页面及范围;
6.在“属性”栏输出数据表中,右键新建变量,并取名DT;
7.在“属性”栏选项中选中“添加标头”;
8~13.在“活动”栏搜索“创建文件”,拖入到序列,确认存储的路径,在“属性”栏名称行,右键新建变量,并取名bodypath;点击“变量”,填入默认值“body.txt”;
14~17.在“活动”栏搜索“序列”,拖入到流程中,再搜索“附加行”,拖入到序列中,文本行编辑:"<html><body><table border = 1>",在属性栏编辑:选择False,文件名行bodypath(输入body在下拉菜单选择);
18~20.在“活动”栏搜索“序列”,拖入到流程中,再搜索“附加行”,拖入到序列中,在属性栏编辑:选择False,文件名行bodypath(输入body在下拉菜单选择),文本输入"<tr>";
21~24.在“活动”栏搜索“遍历循环”,拖入到流程中,分别输入col/DT.Columns(“属性”杂项中TypeArgument选择:System.Data.DataColumn);然后在“活动”栏搜索“附加行”,拖入到正文中,文本栏编辑:String.Format("<th>{0}</th>",col.ColumnName);在属性栏编辑:选择False,文件名行bodypath(输入body在下拉菜单选择);
25~28.在“活动”栏搜索“附加行”,拖入到流程中在属性栏编辑:选择False,文件名行bodypath(输入body在下拉菜单选择),文本输入"</tr>";
29~34.在“活动”栏搜索“序列”,拖入到流程中,再搜索“每一行”,拖入到序列中,分别输入:CurrentRow/DT(先前数据输出变量,输入D,从下拉菜单选择DT);再搜索“附加行”,拖入到正文中,在属性栏编辑:选择False,文件名行bodypath(输入body在下拉菜单选择),文本输入"</tr>";
35~39.在“活动”栏搜索“遍历循环”,拖入到流程中,分别输入col/DT.Columns(“属性”杂项中TypeArgument选择:System.Data.DataColumn);然后在“活动”栏搜索“附加行”,拖入到正文中,文本栏编辑:String.Format("<td>{0}</td>",CurrentRow(col.ColumnName).ToString);在属性栏编辑:选择False,文件名行bodypath(输入body在下拉菜单选择);
40~43.在“活动”栏搜索“附加行”,拖入到流程中在属性栏编辑:选择False,文件名行bodypath(输入body在下拉菜单选择),文本输入"</tr>";
44~47.在“活动”栏搜索“附加行”,拖入到流程中在属性栏编辑:选择False,文件名行bodypath(输入body在下拉菜单选择),文本输入"</table></body></html>";
48~51.在“活动”栏搜索“读取”,选择“读取文本文件”,拖入到流程中在属性栏编辑:文件名行bodypath(输入body在下拉菜单选择),输出位置栏右键新建变量取名body;
52~56.在“活动”栏搜索“outlook”,选择“发送Outlook邮件消息”,拖入到流程中;目标输入接收人邮箱,放置在英文引号间;标题输入邮件标题,放置在英文引号间;正文编辑:"Hi,All,<br/>" body "<br/>BR<br/>姓名";再在属性栏勾选“正文是Html”即可。
备注:Html正文中"<br/>"代表换行,需要其他信息直接在正文编辑即可。
调试运行后,即可以将表格在邮件正文中展示了,试试吧。
,