本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Excel和WorkBook的区别
| 内容 | Excel-Read cell | Workbook-Read cell |
|
支持操作可视化(会看到excel被打开/关闭的过程)
|
是 | 否 |
|
需要安装excel
|
是 | 否 |
|
支持已设定密码的表格
|
是 | 是 |
|
是否会造成进程冲突
|
不会 | 会 |
|
工作簿路径
|
必须包含在Excel Application Scope活动当中,工作簿路径统一在此设置 | 工作簿写在每个单独活动中,需要分别设置工作簿路径 |
是否会造成进程冲突: 表示如果已经打开了excel,在使用该活动进行excel时,是否会触发进程被占用的异常。 也就是说Excel-read cell可以在该excel被打开的情况下打开。而workbook-read cell,则不能。 workbook是独占的方式。
以下示例均使用excel活动,都需要被包含在Excel Application Scope活动
以下操作均使用excel,都在Excel Application Scope活动中
读取单元格
读取单元格之前,需放在Excel Application Scope活动中,此处选择的是桌面上的一个excel文件(不存在会自动创建)。
cell:读取的单元格位置(A列1行) SheetName:excel中需要使用的sheet名 output:输出的读取单元格的内容,为Object类型,可以CTRL+K自动创建一个合适类型的变量接收,也可以是之前所创建的变量。
读取行
读取行之前,需放在Excel Application Scope活动中,此处选择的是桌面上的一个excel文件(不存在会自动创建)。
StartingCell:从A列1行开始读取,直到该行结束 SheetName:excel中需要使用的sheet名 output:输出的读取单元格的内容,为IEnumerable《Object》类型,可以CTRL+K自动创建一个合适类型的变量接收,也可以是之前所创建的变量。
对于IEnumerable《Object》类型的数据,可以使用foreach遍历,得到每一个元素的数据,如下所示
读取列
和Read Row几乎一模一样,只是换成了Read Column的活动
读取范围
读取范围会从指定的单元格开始,到指定的单元格结束,读取该矩形范围内的所有数据
Range:从B列2行开始读取,直到J行3列结束,所围成的矩形范围 SheetName:excel中需要使用的sheet名 AddHeaders:是否读取选中范围的标题,勾选后所选中范围内的第一行会作为表头 UseFilter:是否要读取被过滤掉的内容,默认全部读取 output:输出的读取单元格的内容,为DataTable类型,可以CTRL+K自动创建一个合适类型的变量接收,也可以是之前所创建的变量。
DataTable类型可以使用Output Data Table活动将dt类型转换为string类型的变量,如下图所示
写入范围
得到一个datatable类型的数据后,将其写入到excel中,就需要使用写入范围 write range
StartingCell:写入起始的单元格 SheetName:excel中需要使用的sheet名 AddHeaders:是否录入范围的标题,勾选后会将表头录入excel DataTable:需要写入excel的数据,类型为DataTable
添加删除行
需要新增空行或者删除行时所使用的活动,Inset/Delete Rows
NoRows:需要新增/删除的行数(新增x行/删除x行) Position:在第Position行之前,新增/删除NoRows行 SheetName:excel中需要使用的sheet名 ChangeMode:Add为新增,Remove为删除
新增/删除列操作类似,不赘述