UiPath 實作|透過 RPA 實現 Excel 自動化!

閱讀時間約 7 分鐘
Excel 方方正正的表格型態優勢非常適合使用 UiPath,加上工作場合中,Excel 表格也經常被用來儲存顧客資料、管理貨品庫存,甚至先前介紹網路爬蟲的系列文章<RPA 實戰應用|五分鐘帶你看懂電商產業背後的爬蟲機器人>,所抓下來的資料,也可以在經過整理後以 Excel 的方式輸出結果。
由此可見,學習、熟悉 UiPath 中有關 Excel 的相關功能,將能夠幫助員工減輕許多重複性動作、搜尋目標資料、甚至挪動資料等等的任務,提升整體工作效率,進而掌握自己工作節奏。
RPAI 數位優化器這次要以 Udemy 上的〈Complete UiPath RPA Developer Course: Build 7 Robots〉課程中第三個實作為基礎進行實作分享,並且加以延伸概念、過程中比較容易犯錯之處,希望可以幫助大家解決製作 RPA 機器人過程中遇到的 Excel 相關問題。
在開始閱讀正文之前,也別忘了先追蹤我們的 臉書粉絲專頁方格子帳號

專案說明

在這個專案實作中,我們將進入到一個名為 RPA challenge 的網站,並可以看到一個類似報名系統的畫面(如下圖),主要任務是要將十筆 Excel 的資料,按照標題名稱填入,另一個可能會面臨到的任務是,每填入一筆資料格子就會換位置。因此,做完專案之後,你將可以學習到:
  1. 將 Excel 內容資料,轉移或填入到目標網頁中。
  2. Excel 表格資料讀取、變數設定、變數型態的重要性。
  3. Anchor base 的概念和屬性設定。
如何在 UiPath 上實現 Excel 的流程自動化?
〈Complete UiPath RPA Developer Course: Build 7 Robots〉課程中第三個機器人專案練習,會帶你手把手地實現將 Excel 中的人事資料移轉到網頁上的某個系統,牽涉到開啟網頁、選取表格範圍、到最後逐列讀取資料的技巧,還有一個重要且不易理解的概念就是 Anchor(錨定),因此會在本篇文章特別說明,並且補充兩個常混淆的 UiPath Excel 功能。

這樣的練習可以在甚麼工作場景運用到呢?舉例來說,如果身在一個人資部門,要幫公司的同事們報名路跑活動,為了避免手動輸入資料過程發生錯誤,或許這個機器人就可以幫助你完成任務。
文章看到這邊,不妨先想想這樣的 RPA 應用,是否也可以結合自身哪些業務呢?所以建議大家別急著往後看文章,可以先自己嘗試看看,等做完了再回來把文章的下半部看完,相信你將會得到更多不一樣的觀點!
如果還想學習更多 UiPath 功能、實作案例並了解最新自動化趨勢,
歡迎加入「零基礎快速學習 RPA-利用 UiPath 建構自動化機器人」線上課程!課程優惠只到 2024 年 2 月 5 日,快點擊連結立即了解:https://mastertalks.tw/products/rpa-uipath?ref=RPARPA

UiPath Excel 常使用到的功能

如下圖所示,這些是透過 UiPath 實現 Excel Automation 常用的功能,多數的功能使用起來均相對直覺,因此將另外著重所框選起來,較須特別注意的三個功能,來和大家進行分享和介紹:

Anchor _基本介紹

Selector 是 UiPath 中用於辨識 UI 元素(UI element,可以先當作是 UiPath 系統中可以辨識的元件)的方式,藉由設定其屬性可以讓 UiPath 找出唯一指定的元素。
由於它的方式會用到 XML 字串符,除了跟 low code 的本質牴觸之外,也可能會有點複雜以至於寫出來的 Selector 不夠穩定,無法順利地找到唯一的指定元素,所以 UiPath 提供 Anchor base 解決上述的兩個問題,也保留 XML 的方式因應來自不同背景的使用,整體的彈性更高。
Anchor 本來中文的翻譯是船錨,用來固定停泊在岸邊的船隻,避免被浪帶走,
採用「不漂走、固定」的概念,來找到唯一的目標。
Anchor Base Activity:是一個 Container,根據想要搜尋的目標來找尋相對應的 UI element,並且執行指定的動作,也就是說在 Container 中包含兩個活動,一個是 Target,另一個則是 Action。Target 是想要把錨放在哪個位置,方便 UiPath 去找;而 Action 則是找到 Anchor 之後,要採取甚麼動作,比方說填入資料還是按下 click。
Anchor position:屬性設定中,表示 Anchor 要放在 UI element 的上方、下方、左邊、或者右邊。這個例子是會不斷變動位置,所以選擇 Auto。
延伸閱讀:低代碼(low code)平台基本介紹

額外補充:兩個易混淆的 UiPath Excel 功能

Get raw item:從 For Each Raw in Data Table 每一列的資料會暫存成一個空間預設是 CurrentRaw,在屬性中定義行的名稱(column name, header),當把第幾列和第幾行定義完成後,就可以順利從 Excel 擷取出要的資料。
Excel read range 和 workbook read range 的差別:當搜尋 read range 時,會出現兩個不同的下拉選單(下圖),功能和屬性設置大同小異。但在 Excel 底下的 read range 是須在 Excel Application Scope 這個活動下,因此一開始就已設定好目標的 xlsx 檔案路徑,只需選擇分頁即可。另外須特別注意的是 workbook 底下的 read range 必須先將 Excel 關掉後才能正常執行。

專案回顧與總結

跟著影片做仍然會有些細節被忽略,因此 RPAI 數位優化器也分享實作時容易犯的錯誤,讀者自行操作時可以留意,或者遇到問題時可以參考解決!
  1. 變數(Variables)的設定:設定電話的變數時,預設是字串(string),但嘗試過後發現用 Generic value 變數型態才有辦法執行。
  2. 中文版使用者打開Excel的預設活頁簿名稱是工作表 1,如果使用英文版的UiPath,要留意將 Read range 中的位置設定 sheet1 改成工作表 1。
    Generic 通用值變數:
    可以儲存任何類型的數據,適合用在當你不確定數據類型的時候。
讓我們一起由簡單開始,成就不簡單!
如果你/妳喜歡這篇文章,歡迎點點愛心或留言,讓我們相互交流和成長!
這次的分享到此告一段落,想了解更多 RPA + AI 與數位轉型的最新趨勢與觀點、RPA 軟體功能介紹及實務應用案例,也歡迎追蹤 RPAI 數位優化器的社群和我們交流互動,我們下次見!
🚀 Instagram:RPAI 數位優化器
🚀 臉書粉絲專頁:RPAI 數位優化器
🚀 YouTube 頻道:RPAI 數位優化器
為什麼會看到廣告
119會員
107內容數
我們是以「機器人流程自動化(RPA)」結合「人工智慧(AI)」為主題的中文學習社群,旨在分享 RPA + AI 的學習資源、應用實例和最新發展趨勢,讓工作者透過自動化工具的有效應用,創造數位優化與轉型契機,讓我們一起由簡單開始,成就不簡單!
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
在 IG 上看到一位前端大大用 Google Apps Script + Line bot 替自己的球隊安排了球經,覺得很有趣,想來玩看看
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
題目會定義一組類別和介面,要求我們實做餐廳訂位報號系統。 SeatManager(int n) : 初始化餐廳最多有n個座位,n 最少是1 int reserve() : 要求返回最小的可讓客人入座的空座位編號。 void unreserve(int seatNumber) : 取消訂位,這個座位歸
Thumbnail
最近剛好分配一個需求,要批次更新一些基礎設定資料,而新系統基礎設定資料都統一由別的團隊維護在Google Sheet 上,一開始是要我寫 Laravel Seeder 塞資料表,後來發現也太多數據要批次更新了,數據要對到何時何年,乾脆來研究串 Google Sheet API 整批塞入在對總行數就好
Thumbnail
在撰寫專案時,有時候可能需要做一些特定Exceptions 來拋出error message的情況,而在不同公司任職,大家配置的流程可能就有些不同,這邊將簡單練習如何配置自定義的Exception。
Thumbnail
我們也推出了一項專案活動<RPA數位傳情|在聖誕節寄出一封時空信​>,希望透過 RPA來做一個類時空信的活動,因此本篇文,也希望和大家聊聊: 1. 為何要做這樣的專案活動 2. 為何學習 RPA很重要 3. 如何設計自己的 RPA機器人
Thumbnail
RPA 全名為 Robotic Process Automation,意即「機器人流程自動化」,是一種軟體服務, 可以將其想像成有位數位助手,在一旁紀錄我們如何進行電腦操作,並且加以模仿、學習,在建立其流程後,便可讓這個軟體執行我們剛剛示範的流程任務,進而有效節省我們人為處理的時間和心力。
在這段故事裡,為了保護主角,所有的人物都是化名,故事會做一定程度的改寫。當談到主角真實的故事的時候,請了解我無法將故事鉅細靡遺的描述。這是他人的故事,我講我的感受,我也只能講我的感受。 最近一年,我開始跟親友聯絡。已經二十年沒跟親友有Quality time,一開始的我,其實蠻不習慣的。我很懷念年
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
在 IG 上看到一位前端大大用 Google Apps Script + Line bot 替自己的球隊安排了球經,覺得很有趣,想來玩看看
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
題目會定義一組類別和介面,要求我們實做餐廳訂位報號系統。 SeatManager(int n) : 初始化餐廳最多有n個座位,n 最少是1 int reserve() : 要求返回最小的可讓客人入座的空座位編號。 void unreserve(int seatNumber) : 取消訂位,這個座位歸
Thumbnail
最近剛好分配一個需求,要批次更新一些基礎設定資料,而新系統基礎設定資料都統一由別的團隊維護在Google Sheet 上,一開始是要我寫 Laravel Seeder 塞資料表,後來發現也太多數據要批次更新了,數據要對到何時何年,乾脆來研究串 Google Sheet API 整批塞入在對總行數就好
Thumbnail
在撰寫專案時,有時候可能需要做一些特定Exceptions 來拋出error message的情況,而在不同公司任職,大家配置的流程可能就有些不同,這邊將簡單練習如何配置自定義的Exception。
Thumbnail
我們也推出了一項專案活動<RPA數位傳情|在聖誕節寄出一封時空信​>,希望透過 RPA來做一個類時空信的活動,因此本篇文,也希望和大家聊聊: 1. 為何要做這樣的專案活動 2. 為何學習 RPA很重要 3. 如何設計自己的 RPA機器人
Thumbnail
RPA 全名為 Robotic Process Automation,意即「機器人流程自動化」,是一種軟體服務, 可以將其想像成有位數位助手,在一旁紀錄我們如何進行電腦操作,並且加以模仿、學習,在建立其流程後,便可讓這個軟體執行我們剛剛示範的流程任務,進而有效節省我們人為處理的時間和心力。
在這段故事裡,為了保護主角,所有的人物都是化名,故事會做一定程度的改寫。當談到主角真實的故事的時候,請了解我無法將故事鉅細靡遺的描述。這是他人的故事,我講我的感受,我也只能講我的感受。 最近一年,我開始跟親友聯絡。已經二十年沒跟親友有Quality time,一開始的我,其實蠻不習慣的。我很懷念年