2021.4.4
若您的版本低于2021.4.4
,请参见:。
2. 新建流程
参数 | 值 | 是否必填 | 备注 |
---|---|---|---|
名称 | AR-Analysis |
是 | 可自定义为其他名称 |
位置 | D:\ProgramData\UiPath |
是 | 默认路径为:C:\Users\[yourname]\Documents\UiPath ; 推荐设置为其他路径,如:在D盘新建一个专门用来存放软件文档的文件夹,然后再按照项目新建子文件夹 |
说明 | 应收账款分析RPA机器人 |
否 | |
语言 | VB |
是 | 可选项:VB 、C# |
3. 下载案例
,并将之拷贝到项目所在目录(如:此处为D:\ProgramData\UiPath\AR-Analysis
4. 新建【序列】
设计 → 新建 → 序列 → 输入“应收账款分析” → 创建。
参数 | 值 | 备注 |
---|---|---|
名称 | 应收账款分析 |
|
位置 | D:\ProgramData\UiPath\AR-Analysis |
默认 |
5. 设置【读取范围】
5.1. 添加【读取范围】
活动 → 搜索“读取范围” → 双击系统-文件-工作簿
下的【读取范围】,将之添加至右侧。
5.2. 设置【读取范围】
注意:以下参数值,均需使用英文双引号(
"
参数 | 值 | 备注 |
---|---|---|
工作簿路径 | "UiPath-Example-AR-Analysis.xlsx" |
此为源文件工作簿名称,由于放在了项目根目录下,无需输入完整的路径, 但,若您未将此文件放在本项目根目录,则需要填写完整的文件所在路径 |
工作表名称 | "Data" |
此为原始数据所在工作表名 |
范围 | "" |
空双引号("" )表示选取整个工作表 |
数据表 | DT |
按快捷键(Ctrl+K) → 输入DT → 回车; 修改【变量】框内新增变量DT 的属性为: “变量类型”为DataTable “范围”为应收账款分析 |
添加标头 | ☑️ | 勾选之 |
6. 设置【分配】
6.1. 添加【分配】
(1)点击【应收账款分析】,回到上层界面
(2)搜索“分配” → 将工作流-控件-分配
下的【分配】拖动到【读取范围】下的➕符号上。
6.2. 设置【分配】
参数 | 值 | 备注 |
---|---|---|
值 | DT.DefaultView.ToTable(True,"客户名称") |
|
受让人 | ClientDT |
按快捷键(Ctrl+K) → 输入ClientDT → 回车; 然后,将【变量】框内,新增变量ClientDT 的“变量类型”更改为DataTable |
注:选择
DataTable
类型的操作方法:点击下拉框 → 浏览类型 → 输入“DataTable” → 双击选择
System.Data.DataTable
。
7. 设置【构建数据表】
7.1. 添加【构建数据表】
搜索“构建数据表” → 将编程-数据表
下的【构建数据表】拖动到【分配】下的➕符号上。
7.2. 设置【构建数据表】
参数 | 值 | 备注 |
---|---|---|
数据表 | NewDT |
按快捷键(Ctrl+K) → 输入NewDT → 回车; 修改【变量】框内新增变量NewDT 的属性为: “变量类型”为DataTable ; “范围”为应收账款分析 |
7.3. 设置【数据表…】
点击数据表... → ①点击❌删除第一行的数据 → ②点击🖊编辑表头和类型 → ③点击➕添加列
注:选择
Double
类型的操作方法:点击下拉框 → 浏览类型 → 输入“Double” → 双击选择
System.Double
。
设置好后的结果,如下:
列名称 | 数据类型 |
---|---|
客户名称 |
String |
欠款次数 |
Int32 |
最多欠款 |
Double |
累计欠款 |
Double |
销售日期 |
String |
8. 设置【对于数据表中的每一行】
8.1. 添加【对于数据表中的每一行】
搜索“对于数据表中的每一行” → 将编程-数据表
下的【对于数据表中的每一行】拖动到【构建数据表】下的➕符号上。
8.2. 设置【对于数据表中的每一行】
参数 | 值 | 备注 |
---|---|---|
遍历循环 | CurrentRow |
|
输入 | ClientDT |
9. 设置【筛选数据表】
9.1. 添加【筛选数据表】
搜索“筛选数据表” → 将编程-数据表
下的【筛选数据表】拖动到【正文】下的➕符号上。
9.2. 设置【筛选数据表】
点击配置筛选器 → 按如下图所示配置相关参数。
9.2.1. 筛选行
参数 | 值 | 备注 |
---|---|---|
输入数据表 | DT |
|
输出数据表 | FilteredDT |
按快捷键(Ctrl+K) → 输入FilteredDT → 回车 |
保留或删除匹配行 | 保留 |
|
列 | "客户名称" |
|
操作 | = |
|
值 | CurrentRow("客户名称").ToString |
9.2.2. 输出列
参数 | 值 | 备注 |
---|---|---|
列选择模式 | 保留 |
|
列1 | "欠款金额" |
对应工作簿"UiPath-Example-AR-Analysis.xlsx" 中的工作表Data 中的表头欠款金额 |
列2 | "销售日期" |
对应工作簿"UiPath-Example-AR-Analysis.xlsx" 中的工作表Data 中的表头销售日期 |
注:点击➕符号,即可增加输入框。
10. 设置【多重分配】
10.1. 添加【多重分配】
搜索“多重分配” → 将工作流-控件
下的【多重分配】拖动到【筛选数据表】下的➕符号上。
10.2. 设置【多重分配】
目标 | 值 | 备注 |
---|---|---|
TempSum |
0 |
按快捷键(Ctrl+K) → 输入TempSum → 回车 |
TempStr |
"" |
按快捷键(Ctrl+K) → 输入TempStr → 回车 |
i |
0 |
按快捷键(Ctrl+K) → 输入i → 回车 |
MaxAmount |
0 |
按快捷键(Ctrl+K) → 输入MaxAmount → 回车 |
10.3. 修改【变量】
按照下表样式,修改对应【变量】的“变量类型”和“范围”,“默认值”留空即可。
名称 | 变量类型 | 范围 | 默认值 |
---|---|---|---|
DT |
DataTable |
应收账款分析 |
|
ClientDT |
DataTable |
应收账款分析 |
|
FilteredDT |
DataTable |
应收账款分析 |
|
TempSum |
Double |
应收账款分析 |
|
TempStr |
String |
应收账款分析 |
|
i |
Int32 |
应收账款分析 |
|
MaxAmount |
Double |
应收账款分析 |
11. 设置【对于数据表中的每一行】
11.1. 添加【对于数据表中的每一行】
搜索“对于数据表中的每一行” → 将编程-数据表
下的【对于数据表中的每一行】拖动到【多重分配】下的➕符号上。
11.2. 设置【对于数据表中的每一行】
参数 | 值 | 备注 |
---|---|---|
遍历循环 | Row |
按快捷键(Ctrl+K) → 输入Row → 回车; 修改【变量】框内新增变量Row 的属性为: “变量类型”为DataTable ; “范围”为应收账款分析 |
输入 | FilteredDT |
12. 设置【多重分配】
12.1. 添加【多重分配】
搜索“多重分配” → 将工作流-控件
下的【多重分配】拖动到【正文】中的➕符号上。
12.2. 设置【多重分配】
目标 | 值 | 备注 |
---|---|---|
TempSum |
TempSum+CDbl(Row("欠款金额")) |
|
TempStr |
TempStr+Date.Parse(Row("销售日期").ToString).ToString("yyyy-MM-dd")+", " |
逗号后留个空格,转换后的格式更好看点 |
i |
i+1 |
13. 设置【IF条件】
13.1. 添加【IF条件】
搜索“IF条件” → 将工作流-控件
下的【IF条件】拖动到【多重分配】下的➕符号上。
13.2. 设置【IF条件】
参数 | 值 |
---|---|
条件 | CDbl(Row("欠款金额"))>MaxAmount |
14. 设置【分配】
13.2. 添加【分配】
搜索“分配” → 将工作流-控件
下的【分配】拖动到【IF条件】内的【在此处放置活动】。
13.2. 设置【分配】
参数 | 值 |
---|---|
值 | CDbl(Row("欠款金额")) |
受让人 | MaxAmount |
15. 设置【多重分配】
15.1. 添加【多重分配】
(1)折叠【对于数据表中的每一行】
(2)搜索“多重分配” → 将工作流-控件
下的【多重分配】拖动到【对于数据表中的每一行】下的➕符号上。
15.2. 设置【多重分配】
目标 | 值 | 备注 |
---|---|---|
Len |
TempStr.Length |
按快捷键(Ctrl+K) → 输入Len → 回车; 修改【变量】框内新增变量Len 的属性为: “变量类型”为Int32 ; “范围”为应收账款分析 |
TempStr |
TempStr.Remove(Len-1,1) |
16. 设置【添加数据行】
16.1. 添加【添加数据行】
搜索“添加数据行” → 将编程-数据表
下的【添加数据行】拖动到【多重分配】下的➕符号上。
16.2. 设置【添加数据行】
参数 | 值 | 备注 |
---|---|---|
数据行 | 空着,不要填 | |
数据表 | NewDT |
|
数组行 | {CurrentRow("客户名称"),i,MaxAmount,TempSum,TempStr} |
17. 设置【排序数据表】
17.1. 添加【排序数据表】
(1)折叠【对于数据表中的每一行】
(2)搜索“排序数据表” → 将编程-数据表
下的【排序数据表】拖动到【对于数据表中的每一行】下的➕符号上。
17.2. 设置【排序数据表】
参数 | 值 | 备注 |
---|---|---|
名称 | "客户名称" |
|
顺序 | Ascending |
|
输入-数据表 | NewDT |
|
输出-数据表 | SortedDT |
按快捷键(Ctrl+K) → 输入SortedDT → 回车; 确保【变量】框内新增变量SortedDT 的属性为: “变量类型”为DataTable ; “范围”为应收账款分析 |
18. 设置【复制文件】
18.1. 添加【复制文件】
搜索“复制文件” → 将系统-文件
下的【复制文件】拖动到【排序数据表】下的➕符号上。
18.2. 设置【复制文件】
参数 | 值 | 备注 |
---|---|---|
来源文件夹 | "UiPath-Example-AR-Analysis.xlsx" |
此为源文件工作簿名称,由于放在了项目根目录下,无需输入完整的路径, 但,若您未将此文件放在本项目根目录,则需要填写完整的文件所在路径 |
目标文件夹 | "应收账款分析.xlsx" |
此为拟复制后生成的新工作簿名称, 由于放在了项目根目录下,无需输入完整的路径 |
覆盖 | ☑️ |
18.3. 关于设置【复制文件】的说明
实务中,建议保留原件,而不是直接在原件上操作;
可以避免:因错误的操作,让原文件损坏,不可恢复。
19. 设置【写入范围】
19.1. 添加【写入范围】
搜索“写入范围” → 将系统-文件-工作簿
下的【写入范围】拖动到【复制文件】下的➕符号上。
19.2. 设置【写入范围】
参数 | 值 | 备注 |
---|---|---|
工作表名称 | "Report" |
对应即将被复制后生成的工作簿"应收账款分析.xlsx" 中的工作表Report |
起始单元格 | "A1" |
|
工作簿路径 | "应收账款分析.xlsx" |
此为拟复制后生成的新工作簿名称, 由于放在了项目根目录下,无需输入完整的路径 |
数据表 | SortedDT |
|
添加标头 | ☑️ |
20. 保存
按快捷键(Ctrl+S) ,或者点击💾图标。
21. 运行
按快捷键(Ctrl+F6) ,或者点击 运行文件
图标。
22. 结果展示
22.1. 报告
22.2. 图表
表格没权限下载啊 博主
1、经测试,可以下载。
2、解决方法:建议使用
Chrome浏览器
或Edge浏览器
下载,不要用360浏览器
等带有自定义加速下载设置的浏览器下载。为什么会出现这种情况呢?该如何调整呢?System.InvalidOperationException: 无法将“TempSum+cdbl(row(“欠款金额”))”赋值给“TempSum”。
1、可能是没有设置初始化变量
TempSum = 0
,详见上文教程之“说明 10.2”。2、也可能是
row(“欠款金额”)
存在空值,可以考虑在导入前对数据做初步处理填充0。应付账款可以分析嘛
同理操作