- 35
- 0
- 约1.32千字
- 约 7页
- 2017-08-11 发布于重庆
- 举报
在LabVIEW中使用ActiveX
在LabVIEW中使用ActiveX讀取Excel檔案
在LabVIEW中要讀取Excel檔案有許多方法,NI公司有出一款Report Generation Toolkit的外掛模組以方便LabVIEW用Toolkit我沒有,再者這Toolkit要另外付費。考量之下還是用ActiveX嘗試做看看。
實際試寫程式時問題不少,相關設定找到的參考資料不多,錯誤多次後終於完成可用的程式。
?
程式的部份分成幾個區塊:
1.第1步建立和Excel程式連接的基礎,這裡使用Automation Refnum這個元件來做,把Automation Refnum元件設定為Excel._Application,方法是在Automation Refnum元件上按右鍵,從跳出的選單中選取。
?
2.第2步用Property Node設定是否要開Excel程式來打開檔案,由於我不希望每次執行這程式都會自動打開Excel程式,所以在Visible這裡設定為不開Excel程式。這一步有沒有開Excel程式影響到結尾要如何處理,後面的步驟再詳細
?
3.第3步同樣用Property Node設定取得Excel程式Workbook(活頁簿)的控制權。
?
4.第4步用Invoke Node設定要打開的檔案,這裡使用Path元件來指定檔案路徑和檔名,基本上只要Excel程式可以打開的檔案都可以指定。
?
5.第5步同樣用Property Node設定取得Excel程式Sheet(工作表)的控制權。
?
6.第6步用Invoke Node設定要讀取的工作表。在這裡設定的不是工作表的名稱,而是工作表的順序編號,因此號碼的數1開始。若檔案中只有1頁工作表就直接設定為1。
?
7.第7步,為了後續處理要將到目前為止的資料轉換成Excel._Worksheet,方法一樣是在Automation Refnum元件上按右鍵,從跳出的選單中選取,再使用Variant To Data元件轉換資料。Variant To Data元件很有意思,在上面Type接的就是那種格式資料。
?
8.第8步,到上一步為止已完整取得工作表的所有資料,再來就是指定讀取範圍。要注意的是若只有指定Cell1則只讀出單格的資料,若Cell1和2都有指定則讀出2D陣列資料(即使Cell1和2指定的是同一縱列還是會讀成2D陣列資料)。
?
9.讀出的資料還必須再次轉換成LabVIEW能接受處理的格式,這裡同樣使用Variant To Data元件轉換資料。注意轉換的格式必須和上一步讀出的範圍相同。
?
10.切斷Excel程式的控制權,至此完成整個讀取Excel檔案。若在第二步有設定要開Excel程式來打開檔案的話,確實是到此結束。
但我在第二步時是設定不開Excel檔案仍在背景執行打開中,要解決這些問題只好再追加程式。
?
11.追加的部份重點是重新取得Excel程式控制權,並在背景執行狀態下關閉Excel程式,最後才切斷Excel程式的控制權。
?
Variant To Data元件轉換資料格式範例
?
程式修正後版本,主要是精簡程式,去掉多餘的步驟。
您可能关注的文档
最近下载
- 2025山东劳动职业技术学院单招《数学》通关题库含完整答案详解(夺冠系列).docx VIP
- 巴蜀中学2026届高三1月适应性月考卷(六)英语试卷(含答案解析).pdf
- 大数据技术及其在土木工程中的应用.doc VIP
- SI210 控制系统调试试运转.pdf VIP
- (第一届吉林大学天文知识竞赛预赛试题及答案.doc VIP
- 《大学物理简明教程》教学课件.pptx
- 2025年高考新高考全国Ⅰ卷英语试题(含听力音频、听力原文和答案).pdf VIP
- 2025年一级造价师《建设工程造价案例分析(交通运输)》考试真题(后附权威解析).pdf VIP
- 2025年山东劳动职业技术学院单招语文模拟试题(附答案解析) 完整版2025.pdf VIP
- 精品解析:重庆市南开中学校2024-2025学年九年级上学期期末考试数学试题(原卷版).docx VIP
原创力文档

文档评论(0)