chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在LabVIEW中讀取報表內容

華穗科技 ? 來源:華穗科技 ? 作者:華穗科技 ? 2022-12-09 10:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

LabVIEW中自帶的報表工具包為我們提供了用于Word、Excel等報表操作的API,細心的小伙伴應該已經(jīng)發(fā)現(xiàn)了報表工具包中的API基本都是生成、創(chuàng)建和寫入報表這一類的,少有讀取報表的API。

這是因為絕大多數(shù)需要報表操作的應用場景中都是按照測試流程和測試項生成測試報表,很少有需要從報表中讀取的需求,那么如果碰到這樣的應用場景我們應該如何使用LabVIEW讀取報表中的內容?

本期小編就探索一下如何在LabVIEW中讀取報表內容,快帶上小伙伴一起來學習一下吧!

本文教程

使用LabVIEW讀取報表內容

一、軟件環(huán)境

系統(tǒng):Win10 64位 軟件:LabVIEW2020 SP1 32bit、LabVIEW Report Generation工具包2020 32位、Office 2019 32位

二、 兼容軟件版本說明

1. 關于LabVIEW版本和報表工具包版本選擇

其實按照NI的一貫風格,使用同一個版本號的NI軟件之間一般不會出現(xiàn)兼容性問題,需要注意的是這個工具包有64位和32位的區(qū)別,使用LabVIEW和工具包時注意版本對齊即可。 從LabVIEW2009開始報表工具包都會集成在LabVIEW的安裝包中,當電腦中安裝了Office后,安裝LabVIEW時會默認勾選此工具包并安裝,如果發(fā)現(xiàn)沒有安裝報表工具包,只需在官網(wǎng)下載對應版本補裝即可。 下面是該工具包的下載鏈接和頁面:https://www.ni.com/zh-cn/support/downloads/software-products/download.labview-report-generation-toolkit.html

73fb4e1c-776a-11ed-8abf-dac502259ad0.png

2. 關于Office版本和報表工具包版本選擇

同樣需要注意的是Office的版本(32位/64位)要和報表生成工具包的版本對齊,并且32位和64位的報表生成工具包對Office的版本支持不同,比如2019的報表生成工具包32位支持Microsoft Office XP(32 Bit),而64位工具包就不支持。

NI在很早之前發(fā)布過說明文檔《Report Generation Toolkit和Micriosoft Office的兼容性》,但是里面列舉的版本比較老,新版本就只能在報表工具包的Readme中找到兼容性說明,小編在這里整理了一些32位版本之間的兼容性供大家參考:

74311d76-776a-11ed-8abf-dac502259ad0.png

三、 讀取Excel報表內容1.讀取帶分隔符電子表格VI

利用LabVIEW文件IO中的“讀取帶分隔符電子表格”VI可以讀取以分隔符分隔的Excel報表,下圖為在LabVIEW中使用讀取帶分隔符電子表格VI讀取Excel報表的示例:

7471713c-776a-11ed-8abf-dac502259ad0.png

2.讀取文本文件使用文件I/O中的“讀取文本文件”函數(shù)也可以直接讀取以分隔符分隔的Excel報表,下圖為在LabVIEW中使用“讀取文本文件”函數(shù)讀取Excel報表的示例:

7493fa0e-776a-11ed-8abf-dac502259ad0.png

3.Excel Get Data.VI

LabVIEW報表工具包中提供了一個讀取Excel的VI,可以獲取Excel報表中的單元格內容,缺點是該VI一次只能獲取一個單元格中的數(shù)據(jù),要使用這種方式讀取報表的內容就必須要知道報表中表格究竟有幾行幾列,然后使用For循環(huán)輪詢讀取,這樣執(zhí)行效率會比較低;優(yōu)點是相比于前面兩種方法,它支持所有Excel報表格式,不拘泥于以分隔符分隔的報表格式。該VI如下圖所示:

74b0d156-776a-11ed-8abf-dac502259ad0.png

打開這個VI到底層可以看到它走的是ActiveX接口,相比于前兩種方式,這種方式對大家來說可能會比較陌生一些,感興趣的小伙伴可以嘗試一下。使用該方式讀取Excel報表代碼如下圖所示:

74cc8c70-776a-11ed-8abf-dac502259ad0.png

4.注意事項

使用前兩種方式讀取Excel報表都要求它是以制表符分隔的格式,如果是通過手動輸入數(shù)據(jù)(不是使用LabVIEW的寫入帶分隔符電子表格VI)創(chuàng)建的Excel報表,則這兩種方式都將無法正確讀取Excel報表,大家會發(fā)現(xiàn)讀取出來的是亂碼。這時必須先將Excel報表保存為以制表符分隔的文本文件(.txt),然后讀取該文本文件內容。而第三種方式?jīng)]有格式限制,可以讀取任意格式Excel報表中的內容。

這三種方式的區(qū)別在于使用“讀取帶分隔符電子表格”得到的是一個二維字符串數(shù)組,從邏輯上來說更接近于Excel中的格式,使用“讀取文本文件”得到的是一段字符串數(shù)據(jù),使用“Excel Get Data.VI”得到的是一個單元格的數(shù)據(jù)字符串。在實際應用的過程中根據(jù)自己的需求使用其中某種方式即可。

四、讀取Word報表內容LabVIEW中內置于文件I/O的API可以操作多種數(shù)據(jù)文件,但都不能用來讀取Word報表中的內容,而LabVIEW中提供了ActiveX接口供開發(fā)者們讀取Word報表內容,下圖是在LabVIEW中讀取Word報表的代碼示例:

74e8b22e-776a-11ed-8abf-dac502259ad0.png

這段代碼理解起來并不是很不難,難的是找到“Word._Application”這個長得像靜態(tài)引用的家伙,對于不熟悉ActiveX的開發(fā)者來說很難找到,在編寫代碼的過程中小編也遇到了一些問題,接下來和大家一起分享其中的內容~1.尋找神秘的“Word._Application”引用句柄其實要想找到這個引用有以下兩種方法: 第一種是在LabVIEW自帶的ActiveX工具包中(函數(shù)選板>>互聯(lián)接口>>ActiveX)找到“打開自動化”函數(shù)接口,找到這個函數(shù)后在它的輸入端“自動化引用句柄“右鍵創(chuàng)建一個常量,如下圖所示:

750238d4-776a-11ed-8abf-dac502259ad0.png

注意此時創(chuàng)建出的句柄常量名稱為“自動化引用句柄”,接下來需要右鍵該常量然后點擊選擇ActiveX類,將下拉列表拉至底部選擇瀏覽,如下圖所示:

7559a876-776a-11ed-8abf-dac502259ad0.png

然后在彈出窗口的“類型庫”下拉列表中找到“Mricrosoft Word 16.0 Object Library Version 8.7”(不同版本的LabVIEW及報表工具包,版本號可能不同)如下圖所示:

757491d6-776a-11ed-8abf-dac502259ad0.png

最后在“對象”選擇框中選擇Application(Word.Application.16),點擊確定后就可以看到常量名已經(jīng)變成了我們需要的“Word._Application”。 第二種方式就是在函數(shù)選板>>報表生成>>Word Specific>>Word Advanced找到“Word Get ActiveX Reference.VI”,將此VI拖到程序框圖中,然后在“Word._Application”這個輸出端創(chuàng)建一個常量即可。

75a91b9a-776a-11ed-8abf-dac502259ad0.png

2.關于錯誤Error-3005

小伙伴如果使用前面介紹的第一種尋找“Word._Application”的方法可以在第二步“選擇ActiveX類”和最后一步選擇“對象”時發(fā)現(xiàn)有“Word._Application”,如下圖所示:

75dceed4-776a-11ed-8abf-dac502259ad0.png

75eeca8c-776a-11ed-8abf-dac502259ad0.png

但是如果直接選這兩處的引用,運行示例程序時會報錯Error-3005,如下圖所示:

7604942a-776a-11ed-8abf-dac502259ad0.png

該錯誤的原因是某些情況下,ActiveX對象的名稱會改變。為了修正,所以必須重新插入ActiveX對象,而方法一中就相當于給它修正為重新插入的ActiveX對象了。下面,請大家看看使用這種方法讀取Word報表文本內容的效果:

762e367c-776a-11ed-8abf-dac502259ad0.png

重點回顧:1、LabVIEW、報表工具包、Office要注意版本對齊為32bit或64bit;2、為了避免錯誤Error-3005,要插入修正后的ActiveX對象; 以上就是本期分享的所有內容啦,大家感興趣的話可以自行創(chuàng)建VI試一試,如果有遺漏的地方歡迎各位小伙伴對我們提出建議和補充,華穗的工程師們始終歡迎大家和我們一起交流LabVIEW的編程知識與技巧!

對NI產(chǎn)品和軟件開發(fā)知識感興趣的工程師們,歡迎持續(xù)關注、留言和點贊,也可以私信小編各位的技術困惑和技術需求,以獲取參加免費線下培訓和技術交流的機會哦。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • LabVIEW
    +關注

    關注

    2009

    文章

    3679

    瀏覽量

    342198
  • 工具包
    +關注

    關注

    0

    文章

    47

    瀏覽量

    9819
  • 華穗科技
    +關注

    關注

    1

    文章

    13

    瀏覽量

    221

原文標題:教程 | 使用LabVIEW讀取報表內容

文章出處:【微信號:華穗科技,微信公眾號:華穗科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用ulog 寫入日志到文件系統(tǒng),無法使用cat命令讀取文件內容怎么解決?

    1.我使用ulog+littlefs寫入日志,日志正常寫入,但是沒法使用cat指令讀取文件內容失敗,必須關掉ulog,才能讀取日志文件顯示的內容,發(fā)現(xiàn)上次日志是正常寫入的。 2.調試發(fā)
    發(fā)表于 10-13 06:12

    何在 buildroot 的 rootfs 顯示當前目錄?

    何在 buildroot 的 rootfs 顯示當前目錄?
    發(fā)表于 09-03 07:02

    何在裸機環(huán)境運行KleidiAI微內核

    ,對 KleidiAI 進行了簡要概述,并附有相關指南鏈接,其中詳細說明了在 Linux 環(huán)境運行 KleidiAI 矩陣乘法 (matmul) 微內核的分步操作,這份指南內容詳實且極易上手。而本篇內容則將
    的頭像 發(fā)表于 08-08 15:16 ?3478次閱讀
    如<b class='flag-5'>何在</b>裸機環(huán)境<b class='flag-5'>中</b>運行KleidiAI微內核

    何在Simulink啟用ADC校準?

    何在 Simulink 啟用 ADC 校準? V4.2.0 產(chǎn)品發(fā)布報告指出,它在塊可用。但我在 ADC 配置塊找不到任何選項。
    發(fā)表于 03-31 07:50

    解鎖TSMaster fifo函數(shù):報文讀取的高效方法

    前言:TSMaster目前有兩種讀取報文的模式:回調函數(shù)模式和fifo模式。fifo函數(shù)是TSMaster近期新增的函數(shù),本文將重點介紹fifo模塊。關于回調函數(shù)的使用方法可以參考幫助模塊的《快速
    的頭像 發(fā)表于 03-14 20:04 ?771次閱讀
    解鎖TSMaster fifo函數(shù):報文<b class='flag-5'>讀取</b>的高效方法

    DLPC3479固件是否寫有關于DMD溫度讀取以及過熱保護的內容,如果有的話溫度讀取和過熱保護的邏輯是什么?

    你好 我想詢問一下,DLPC3479固件是否寫有關于DMD溫度讀取以及過熱保護的內容,如果有的話溫度讀取和過熱保護的邏輯是什么。
    發(fā)表于 02-17 08:05

    DLPC3479固件是否寫有關于DMD溫度讀取以及過熱保護的內容,如果有的話溫度讀取和過熱保護的邏輯是什么?

    你好 我想詢問一下,DLPC3479固件是否寫有關于DMD溫度讀取以及過熱保護的內容,如果有的話溫度讀取和過熱保護的邏輯是什么。
    發(fā)表于 02-17 07:35

    ADS1158如何在自動掃描模式下,用通道讀命令,順序讀取通道轉換數(shù)值?

    ADS1158如何在自動掃描模式下,用通道(寄存器格式)讀命令,順序讀取通道轉換數(shù)值,我現(xiàn)在無論是采用脈沖命令方式還是START為HIGH轉換的方式讀取的通道的順序都是亂的;
    發(fā)表于 01-17 06:54

    labview2015使用Excel報表程序打包生成后打開程序要選一個vi才能使用,否則軟件就會報錯,這是什么問題?

    labview2015使用Excel報表程序打包生成后打開程序要選一個vi才能使用,否則軟件就會報錯。這是什么問題?
    發(fā)表于 12-09 16:14

    labview創(chuàng)建DIAdem報表的具體方法

    求一份用labview創(chuàng)建DIAdem報表的具體方法
    發(fā)表于 11-27 14:31

    ADS8555使用并行數(shù)據(jù)模式,是否可以讀取控制寄存器的內容數(shù)據(jù)?

    我使用并行數(shù)據(jù)模式,是否可以讀取控制寄存器的內容數(shù)據(jù)。
    發(fā)表于 11-14 06:28

    YOLOv6在LabVIEW的推理部署(含源碼)

    YOLOv6 是美團視覺智能部研發(fā)的一款目標檢測框架,致力于工業(yè)應用。如何使用python進行該模型的部署,官網(wǎng)已經(jīng)介紹的很清楚了,但是對于如何在LabVIEW實現(xiàn)該模型的部署,筆者目前還沒有看到
    的頭像 發(fā)表于 11-06 16:07 ?1239次閱讀
    YOLOv6在<b class='flag-5'>LabVIEW</b><b class='flag-5'>中</b>的推理部署(含源碼)

    何在反激式轉換器緩沖FET關斷電壓

    上一期,我們介紹了如何在正向轉換器導通時緩沖輸出整流器的電壓?,F(xiàn)在,我們看一下如何在反激式轉換器緩沖 FET 關斷電壓。
    的頭像 發(fā)表于 11-04 09:48 ?949次閱讀
    如<b class='flag-5'>何在</b>反激式轉換器<b class='flag-5'>中</b>緩沖FET關斷電壓

    Modbus協(xié)議的讀取保持寄存器值

    功能碼用于讀取從設備保持寄存器的內容,不支持廣播模式。消息頓中指定了需要讀取的保持寄存器的起始地址和數(shù)目。而保持寄存器各地址的具體內容和意
    的頭像 發(fā)表于 10-30 10:54 ?5081次閱讀

    AIGC在視頻內容制作的應用前景

    AIGC(Artificial Intelligence Generated Content,人工智能生成內容)在視頻內容制作的應用前景廣闊,主要體現(xiàn)在以下幾個方面: 一、提高視頻內容
    的頭像 發(fā)表于 10-25 15:44 ?2508次閱讀