今天是鼠年正月十二。这是Jerry鼠年的第11篇文章,也是汪子熙公众号总共第210篇原创文章。

之前Jerry的文章 使用ABAP操作Excel的几种方法,介绍的是通过ABAP这门编程语言去操作Excel的方法。

除了编程语言之外,SAP新发布的SAP Intelligent Robotic Process Automation(简称SAP iRPA),提供了强大的企业级自动化流程解决方案,善加利用,可以在不需要编程的情况下,像使用编程语言一样灵活地操作Excel.

我们来看个具体而又简单的例子,用SAP Intelligent Robotic Process Automation操作一个Excel文件,往里面的单元格写入一个字符串,设置背景色然后关闭。

在动手做这个例子之前,你也许需要先阅读这两篇文章,以了解SAP iRPA的上下文。

  • SAP智能机器人流程自动化解决方案

  • 使用SAP iRPA Studio创建的本地项目,如何部署到SAP云平台上?

打开SAP Intelligent Robotic Process Automation Desktop Studio,导入SAP预置的操作Excel的nodejs脚本库文件。

在库文件里选择Excel Integration. 从下图能发现,SAP iRPA除了Excel之外,也支持Office里其他应用比如Word和Outlook.

新建一个名叫jerryExcel的workflow,在工作流的activities面板里输入seq,找到类型为Sequence的Flow控件。该控件允许我们在工作流里定义一系列顺序执行的步骤。

把Sequence控件拖拽到工作流编辑区域里,双击,就可以定义需要执行的详细步骤了。

Excel Lib里预置了很多围绕Excel进行的操作,如Init Excel,Open Excel,Close Excel等等,每个操作对应一段nodejs代码。

比如把Init Excel拖拽到Sequence控件的Activities列表里之后,一旦保存,会立即看到自动生成的nodejs代码。Excel Lib里每个step,都对应一段nodejs代码。如此一来,即使SAP Intelligent Robotic Process Automation Desktop Studio的使用者没有编程基础,也能开发出能操作Excel的自动化工作流。

上图的Init Excel步骤是所有操作Excel的工作流都必须执行的一个初始化步骤。初始化完毕后,把Open Excel这个步骤拖拽到Sequence Activities里,指定要打开的Excel文件路径,在Desktop Studio里有红色提示。

把本地Excel文件的绝对路径维护进去:

第三步,设置打开的Excel第1行,第1列的值为’Hello Jerry’:

第四步,设置第1行第1列的背景色:

将修改之后的Excel另存成另一个文件。执行这个项目,就会在temp文件夹里看到另一个Excel文件。

这个例子非常简单,让我们来看看它的工作原理。

切换到Script面板,在第45行打开Excel的代码处设置断点,然后单步调试:

断点一旦触发,我们能观察到任务栏里出现一个Excel的应用窗口提示,没有显示任何内容:

在任务管理器能看到该应用通过参数**/automation -Embedding**的方式启动:

我们想单步调试进ctx.excel.file.open方法内,发现断点并没有在open方法内停下来,而是直接执行完这个方法,此时任务栏上的应用标题从Excel更换成了open方法打开的文件名:1.xlsx.

从以上任务管理器里观察到的/automation和embedding参数,我们已经能判断出,SAP iRPA操作Excel的实现原理,和Jerry文章 使用ABAP操作Excel的几种方法 中提到的第一种方法,即通过OLE方式操作Excel是一致的。

如果非要刨根究底,可以到SAP iRPA SDK安装目录下,打开excel.js文件,找到open方法的实现,发现其调用了_excelApp对象的WorkBooks.Open方法:

而_excelApp对象,在initialize方法里通过GetObject从OLE对象Excel.Application中获取:

还记得Jerry文章 使用ABAP操作Excel的几种方法 里提到的ABAP OLE实现源代码么?也是采用同样的方式获取Excel应用对象,连编码方式都如出一辙。

既然已经聊到JavaScript操作Excel的话题了,就顺便提一句,目前另一种流行的JavaScript操作Excel的开源库,即Node-xlsx,原理是基于Office Open XML协议去解析Excel文件,ABAP也有对应的基于Office Open XML的实现:CL_XLSX_DOCUMENT.

这种方式较之SAP iRPA采用的OLE解决方案,优势在于避免了对Excel应用的依赖,多用于服务器端对Excel的处理任务。

至此,采用SAP技术操作Excel的方案大家族里,又增添了一位新的成员:SAP iRPA. 希望本文对大家开阔眼界有所帮助,感谢阅读。

更多阅读

  • Jerry的ABAP, Java和JavaScript乱炖

  • ABAP开发人员未来应该学些什么

  • Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现

  • Jerry的ABAP原创技术文章合集

  • 300行ABAP代码实现一个最简单的区块链原型

  • 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数

  • 在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务

  • ABAP vs Java, 蛙泳 vs 自由泳

  • 聊聊C语言和ABAP

  • 动手使用ABAP Channel开发一些小工具,提升日常工作效率

  • 我用ABAP做过的那些无聊的事情

  • 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧

  • 使用Visual Studio Code编写和激活ABAP代码

  • 你的ABAP程序给佛祖开过光么?来试试Jerry这个小技巧

  • 在SAP云平台ABAP编程环境上编写第一段ABAP程序

  • SAP官方发布的ABAP编程规范

  • ABAP Code Inspector那些隐藏的功能,您都知道吗?

  • 还在用ABAP进行SAP产品的二次开发?来了解下这种全新的二次开发理念吧

  • ABAP Netweaver体内的那些寄生式编程语言

  • 从SAP社区上的一篇博客开始,聊聊SAP产品命名背后的那份情怀

  • 云端的ABAP Restful服务开发

  • 如何在SAP云平台ABAP编程环境里把CDS view暴露成OData服务

  • 使用abapGit在ABAP On-Premises系统和SAP云平台ABAP环境之间进行代码传输

  • 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用

  • Jerry带您了解Restful ABAP Programming模型系列之二:Action和Validation的实现

  • Jerry带您了解Restful ABAP Programming模型系列之三:云端ABAP应用调试

  • SAP云平台上的ABAP编程环境里如何消费第三方服务

  • ABAP开发者上云的时候到了 - 现在大家可以免费使用SAP云平台ABAP环境的试用版了

  • 学而不思则罔 - SAP云平台ABAP编程环境的由来和适用场景

  • SAP云平台里的三叉戟应用

  • 如何基于Restful ABAP Programming模型开发并部署一个支持增删改查的Fiori应用

  • SAP 2019 TechEd Key Note解读:云时代下SAP从业人员如何做二次开发?

  • 有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?

  • ABAP开发环境终于支持以驼峰命名法自动格式化ABAP变量名了

  • 利用ABAP 740的新关键字REDUCE完成一个实际工作任务

  • 一段让人瑟瑟发抖的ABAP代码

  • 昨日万圣节ABAP怪兽级代码谜团,公布答案啦

  • 介绍一种在ABAP内核态进行内表高效拷贝的方法

  • 使用SAP Cloud Application Programming模型开发OData的一个实际例子

  • 当ABAP遇见普罗米修斯

  • 使用ABAP绘制可伸缩矢量图

  • ABAP开发环境语法高亮的那些事儿

  • SAP错误消息调试之七种武器:让所有的错误消息都能被定位

  • 使用ABAP操作Excel的几种方法

  • SAP GUI里的收藏夹事务码管理工具

  • SAP GUI和Windows注册表

  • 有了Debug权限就能干坏事?小心了,你的一举一动尽在系统监控中

  • ABAP CCDEF, CCIMP, CCMAC, CCAU, CMXXX这些东东是什么鬼

  • 实现ABAP条件断点的三种方式

  • 使用SAT跟踪监控从浏览器打开的SAP应用的性能和调用栈

如何使用SAP Intelligent Robotic Process Automation自动操作Excel相关推荐

  1. 如何使用 SAP Intelligent Robotic Process Automation 自动操作 Excel

    机器人流程自动化 (Robotic Process Automation,简称 RPA) 是一种允许用户将企业重复的.基于规则的业务流程进行自动化的解决方案. 与需要将流程步骤硬编码到系统中的传统自动 ...

  2. 如何下载SAP Intelligent Robotic Process Automation相关的软件

    官网链接:https://launchpad.support.sap.com/#/softwarecenter/search/Intelligent%2520Robotic%2520Process%2 ...

  3. 如何在SAP云平台上启用SAP Intelligent Robotic Process Automation - IRPA

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  4. SAP Intelligent Robotic Process Automation权限控制

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  5. 什么是SAP Intelligent Robitic Process Automation - iRPA

    所谓智慧企业,一个特征就是具备将复杂但低附加值的重复流程通过自动化的方式完成的能力.通过自动化,从而将宝贵的人力资源投入到更高附加值的工作中去,比如提供产品和服务的品质,提升用户体验.SAPGUI时代 ...

  6. RPA - Robotic process automation (机器人流程自动化)

    RPA(机器人流程自动化) RPA机器人流程自动化(Robotic process automation):能够代替或者协助人类在计算机.RPA手机等数字化设备中完成重复性工作与任务. 预先设计好使用 ...

  7. RPA(Robotic Process Automation)的概要介绍

    最近因为公司业务的需要,开始关注RPA的内容,奈何国内相关的信息太少,只能硬着头皮啃英文了. 下面记录的内容作为学习笔记,有不对的地方请大家指教. 首先RPA(Robotic Process Auto ...

  8. RPA机器人流程自动化(Robotic process automation)

    RPA机器人流程自动化(Robotic process automation):能够代替或者协助人类在计算机.RPA手机等数字化设备中完成重复性工作与任务.

  9. 【AI写作】 机器人流程自动化 介绍 - Robotic Process Automation (RPA) Introduction

    写一篇文章介绍RPA技术,未来的发展.使用markdown格式,有3级索引,超过3000字. 某位大师说过的: 任何行业.任何部门都有大量的场景,涉及重复.有规则逻辑的工作,都可以用 RPA 开发一个 ...

最新文章

  1. JAVA基础——编程练习(一)
  2. WinCE中sources文件中targetlibs与sourcelibs的作用与区别
  3. 【收藏】电气设计相关计算公式大全(附举例)
  4. 线性代数之矩阵逆的微分
  5. 【uni-app】动态计算图片高度且保持宽高比
  6. 20181213_任务(3D奖品设计+30天单词练习)
  7. 跟多导出数据库的方法
  8. Cookie、session、token对比
  9. 沈阳职业计算机学院宿舍几人间,沈阳工学院宿舍怎么样 住宿条件好不好
  10. 初涉Linux(无代码)
  11. 深度学习与 Spark 和 TensorFlow
  12. asp.net 打印控件之报表
  13. 【Codeforces Global Round 2】A-E题解 【Frets On Fire、Pavel and Triangles】
  14. Circular Sequence
  15. 最全的世界地图矢量素材下载(AI、EPS、SVG格式)
  16. Magisk中文文档
  17. y = mapminmax(‘apply‘,x,ps)与mapminmax(‘reverse‘,y,ps)
  18. Variable used in lambda expression should be final or effectively final 问题的解决和追根溯源
  19. 数据链路层——计算机网络
  20. 【Android SDM660源码分析】- 04 - UEFI ABL LinuxLoader 代码分析

热门文章

  1. [IPhone] 仅在Debug编译的NSLog
  2. 网络编程之网络架构及其演变过程、互联网与互联网的组成、OSI七层协议、socket抽象层...
  3. shell脚本编程测试类型下
  4. 南邮CTF-MISC-Remove Boyfriend
  5. Matlab图片改颜色通道不改名存储
  6. 高通公司 MSM8K GPT异常原因分析无法开机的问题
  7. jQuery Ajax 实例 全解析
  8. 2008_11_05_星期三
  9. 企业内网利用devpi搭建pypi私服
  10. 用numpy操作矩阵,上三角,下三角矩阵,对角化矩阵