今天給你們分享一下,如何將DataTable轉爲List和Array,爲此小U也花了很多時間研究,最後發現沒有那麼複雜。html
先來講說List和Array的區別:android
List:就像一個鏈條,存儲數據的空間能夠不連續。數組
Array:就像一個Execl中的某一列,可是它必須在聲明的時候就指定存儲空間的大小,換句換話就是聲明的時候須要初始化數據的大小。3d
那何時用Array,何時用List呢?htm
總結1:當咱們不肯定大小時,最好使用List代替Arrayblog
總結2:當須要大量的查找操做時,最好使用Array,誰用誰知道。字符串
總結3:當須要進行頻繁的插入,刪除操做時,最好使用List代替Arraystring
最後:因爲List須要存儲他下一個節點的地址,因此浪費更多的空間 it
下面小U將給你們講解一下如何轉換,本例中使用的Activity有:io
- Execl Application Scope
- Read Range
- Output Data Table
- Write Line
- Log Message
- For Each Row
- Invoke Method---轉換成List時使用
- For Each
- 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[]
最後,咱們來看看輸出結果
原文出處:https://www.cnblogs.com/mynancy-android/p/11850560.html