close
之前的文章提到用ActiveX來存取Excel檔案的方法,雖然可以準確的存取指定範圍的資料,但執行效率不佳,資料很多時要等很久,完全不具實用性。因此苦思能否再縮短執行時間以提高效率,經過測試找到簡便的方法
1.讀取Excel檔案:
這裡使用的是Read From Spreadsheet File.vi這個元件,使用可相容Excel的副檔名檔案(xls、csv、txt),讀出來的2D陣列資料是縱排的,因此資料再經過縱橫位置轉換以便後續LabVIEW程式處理。上面那個%.6f的字串參數是設定數值要讀出到小數點以下幾位,%.6f為讀到小數點以下6位
2.寫入Excel檔案:
這裡使用的是Write To Spreadsheet File.vi這個元件,使用可相容Excel的副檔名檔案(xls、csv、txt),由於要寫入的2D陣列資料必須是縱排的,因此資料再經過縱橫位置轉換。上面那個%.6f的字串參數是設定數值要寫入到小數點以下幾位,%.6f為寫入到小數點以下6位
這種存取的方法最大的優點就是快,經測試存取約百萬個數值資料約1秒左右
缺點是用Excel開啟這種存檔方式的檔案時會跳出視窗轉換格式,另外存取時無法指定存入的工作表及範圍,每次的存取都是Excel檔案的第一個工作表
以執行效率而言那些缺點可以忽略用其他方法補救(如自動換檔名存檔或讀檔),因此我以後需要大量存取資料的程式已改用這種存取方法
文章標籤
全站熱搜
留言列表