UiPath之DataTable轉換爲List和Array

今天給你們分享一下,如何將DataTable轉爲List和Array,爲此小U也花了很多時間研究,最後發現沒有那麼複雜。數組

先來講說List和Array的區別:3d

List:就像一個鏈條,存儲數據的空間能夠不連續。blog

Array:就像一個Execl中的某一列,可是它必須在聲明的時候就指定存儲空間的大小,換句換話就是聲明的時候須要初始化數據的大小。字符串

那何時用Array,何時用List呢?string

總結1:當咱們不肯定大小時,最好使用List代替Arrayit

總結2:當須要大量的查找操做時,最好使用Array,誰用誰知道。io

總結3:當須要進行頻繁的插入,刪除操做時,最好使用List代替Array原理

最後:因爲List須要存儲他下一個節點的地址,因此浪費更多的空間 List

下面小U將給你們講解一下如何轉換,本例中使用的Activity有:方法

  1. Execl Application Scope
  2. Read Range
  3. Output Data Table
  4. Write Line
  5. Log Message
  6. For Each Row
  7. Invoke Method---轉換成List時使用
  8. For Each
  9. Assign---轉換成數組時使用

整個流程看起很長,實際的原理很簡單,請小夥伴耐心看完

                       

(一)  咱們來看看如何輸出DataTable,這個其實很簡單,直接新建一個OutputDataTable的activity就能夠了

 

 因爲個人表格裏面沒有標題行,因此要去掉標題

 

看到了吧,就是這麼簡單,只須要記住他是將整個DataTable裏面的內容做爲一個字符串輸出。

(二)如何將DataTable轉換成List呢?

開始這個問題一直都不知道,總想着用ForEachRow讀取,而後直接賦值,結果怎麼都不行,好在發現了方法,經過Invoke Method中的Add能夠實現,注意定義的List的類型是List<String>,而且在Default中須要這樣處理new List(of string)

 

 

---------------------------更新內容-----------------------------

在使用Invoke Method的時候,咱們須要進行參數設定,以下圖

 

漏掉了參數說明,不少同窗都卡在這裏的,今天把這個追加進去

 

打印就很簡單了,直接使用ForEach,注意不是ForEachRow

 

 

(三)如何將List轉換爲數組,這個其實也很是簡單

只須要這一步便可,array的類型是String[]

 

 最後,咱們來看看輸出結果

 

相關文章
相關標籤/搜索