如何使用SAP Intelligent Robotic Process Automation自动操作Excel
今天是鼠年正月十二。這是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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7p相机怎样打开自然光
- 下一篇: 前纪虚空遗物哪里刷