RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于LabVIEW快速創(chuàng)建報表的一些方法

jf_V8z5L4Nx ? 來源:傳感測控物聯(lián)網(wǎng) ? 2023-07-31 10:52 ? 次閱讀

在測控應(yīng)用上,一般都需要軟件能夠出報表,方便保存或打印測試信息、數(shù)據(jù)、圖表等。出報表,這可以說是LabVIEW的拿手好戲了。在LabVIEW里出一份像樣的報表,與代碼編程比起來,那可真是事半功倍。

本篇推送里我給大家介紹三大類五六種出報表的方法——都是簡單、快速、高效的方法。

1.使用圖表控件導(dǎo)出數(shù)據(jù)功能快速創(chuàng)建數(shù)據(jù)報表

這個方法可以快速創(chuàng)建excel格式的數(shù)據(jù)報表,簡易方便,幾乎沒有編程工作量。

例如下面這個代碼,運(yùn)行后自動產(chǎn)生一個excel臨時文件,保存產(chǎn)生的信號數(shù)據(jù)。

wKgaomTHIfCAOR-hAAAg8tCAq5A411.png

上述代碼產(chǎn)生的Excel文件:

wKgaomTHIfCANuy8AAD2BPHButU999.png

這個本質(zhì)上是通過圖表控件導(dǎo)出數(shù)據(jù)方法創(chuàng)建的excel文件。其實(shí)也可以不用代碼,用戶可以在圖表控件上單擊鼠標(biāo)右鍵,選擇Export->Export Data to Excel也是可以生成和保存這個Excel文件的。

這個方法非常簡便,但是缺點(diǎn)也很明顯。例如不能自動保存報表、不能給報表添加表頭信息、不能給報表增加其它數(shù)據(jù)等。

2.Report Generation VIs

想要創(chuàng)建正兒八經(jīng)的報表,我們需要專業(yè)工具。

Report Generation VIs是一組LabVIEW自帶的用于創(chuàng)建和修改報表的VI,在Programming->Report Generation分類下可以找到它們。

Report Generation VIs可以創(chuàng)建word、excel或者h(yuǎn)tml格式的報表。

wKgaomTHIfCAciB0AALzjzHydnc881.png

1)Report Generation相關(guān)VI介紹

分類 VI名稱 功能
/ Create Easy Text Report 創(chuàng)建簡易文本報表,輸出至打印機(jī)或者文件。報表格式可以為HTML、Word或Excel,報表內(nèi)容為文本??稍O(shè)置頁眉、頁腳、字體等。
/ Create Report 創(chuàng)建報表,輸出報表引用。通過報表引用可以為報表增加文字、表格、圖像等內(nèi)容,也可以設(shè)置字體、頁眉、頁腳等。報表格式可以為HTML、Word或Excel。
/ Print Report 打印報表。
/ Save Report to File 保存報表。
/ Set Report Font 設(shè)置報表字體。
/ Append Report Text 添加文本至報表。
/ Append Table to Report 添加表格至報表。
/ Append List to Report 添加列表至報表。
/ Append Control Image to Report 添加控件圖像至報表。
/ Append Image to Report 添加圖像至報表。
/ Dispose Report 關(guān)閉報表并釋放內(nèi)存。
/ Report 提供設(shè)置對話框,設(shè)置好報表表頭信息、數(shù)據(jù)、存儲路徑或打印機(jī)等,以預(yù)先設(shè)置好的格式創(chuàng)建報表。報表文件格式可以為HTML、Word或Excel。
/ MS Office Report 通過模板創(chuàng)建Word或Excel格式報表。
VI Documentation Append VI Block Diagram to Report等 一些可把程序框圖、界面、子VI清單等信息加進(jìn)報表的VI。
Report Layout Set Report Margin、Set Report Orientation等 一些設(shè)置報表布局的VI。
Word Specific Word Easy Title、Word Easy Table等 Word格式報表特定一些VI,例如給報表增加表格。
Excel Specific Excel Easy Table、Excel Easy Graph等 Excel格式報表特定的一些VI,例如給圖表增加圖表。
HTML REports Only Append Horizontal Line to Report、Open HTML Report in Browser等 HTML格式報表特定的一些VI,例如給報表增加橫線、超鏈接、在瀏覽器中打開報表。
Advanced Report Generation Append File to Report、Querry Available Printers等 附加文件到報表、查詢可用打印機(jī)等報表相關(guān)高級功能。

2)創(chuàng)建簡易文本報表

下面代碼使用Create Easy Text Report創(chuàng)建一個簡易的HTML報表。

wKgZomTHIfCAF8hSAAA5CVSgtMY417.png

報表的樣式如下(截屏?xí)r調(diào)整了瀏覽器窗口大小):

wKgZomTHIfCAD9A3AAasEk3TUqM001.png

3)創(chuàng)建預(yù)先格式化報表

把Report Generation分類下的ReportwKgZomTHIfCAOaqeAAAIC-oWZvQ091.png放置到程序框圖中,雙擊按照下圖設(shè)置好報表格式。

wKgaomTHIfCALrQFAAMp4HFC7G4660.png

代碼如下:

wKgZomTHIfCAOBmTAAAwbUD2DjY915.png

運(yùn)行后產(chǎn)生的word格式報表如下圖(部分)。

如果設(shè)置的時候不勾選Include Table就不會有長長的、保存數(shù)據(jù)的表格(100個數(shù)據(jù),共8頁)。

wKgZomTHIfCALifYAAQP_mgAdKY863.png

4)使用模板創(chuàng)建報表

我們自己定義一個Excel模板,如下圖。其中Author、Date、Time、Sigal Graph和Signal Data是需要寫入的內(nèi)容。

wKgaomTHIfCAcO3IAABay6ttuHE397.png

放置一個MS Office Report到程序框圖上,雙擊在設(shè)置中選擇我們之前創(chuàng)建的模板文件,就會自動分析出該模板需要輸入的數(shù)據(jù)。Report Contents里列出了我們可以輸入的內(nèi)容名稱。我們把Signal_Graph輸入在報表中的呈現(xiàn)形式(Input Apperance in Report)修改為Graph,把Signal_Data輸入在報表中的呈現(xiàn)形式修改為Table,其它默認(rèn)。

wKgaomTHIfCAEN64AACp5e6k7kM873.png

這里插句話,前面的Excel模板是怎么制作的呢?LabVIEW怎么會知道我需要輸入哪些數(shù)據(jù)的呢?其實(shí)很簡單:新建一個Excel文件,填入固定信息(例如報表中公司名稱、小標(biāo)題等),使用公式中的“定義名稱”定義需要輸入的數(shù)據(jù),為需要輸入的數(shù)據(jù)指定輸入起始單元格位置,最后保存為Excel模板文件(.xltx)即可。定義名稱時輸入的“名稱”就是我們在LabVIEW里Configure MS Office Report時可以看到的報表內(nèi)容(Report Contents)。

wKgaomTHIfGABVcdAADbp-HBuCY196.png

我們用下面的代碼按照上面設(shè)計的Excel模板創(chuàng)建一個報表。代碼里我們把信號數(shù)據(jù)轉(zhuǎn)成了一維數(shù)組,然后把一維數(shù)組轉(zhuǎn)成了20x5的二維數(shù)組,目的是為了讓excel報表中的數(shù)據(jù)不要那么長(否則就像前面word報表中一樣,100個數(shù)據(jù)會需要好幾頁才能放得下)。

wKgZomTHIfGARRAFAAA9vvvQkOw977.png

產(chǎn)生的excel報表如下圖??梢钥吹剑缥覀兤谕哪菢?,在Signal Graph下面自動插入了信號波形圖形;在Signal Data下自動插入了信號數(shù)據(jù),第一列是自動輸入的編號;Autor等輸入的信息,也都填入了指定的位置。

wKgZomTHIfGAPJkDAAVioPQD9nY634.png

這個Excel報表,因?yàn)閷π盘枖?shù)據(jù)的展示重新進(jìn)行了編排,所以看上去更加美觀了,整個報表只需要一頁。這樣一個報表我想已經(jīng)能夠滿足很大一部分項(xiàng)目的使用需求了。然而如你所見,它的創(chuàng)建過程其實(shí)非常簡單:制作模板、一個VI搞定。

5)使用VI創(chuàng)建報表

下面這個代碼,使用Create Report、Append Text to Report、Append Control Image to Report、Append Table to Report、Excel Rename Worksheet、Save Report to File等VI創(chuàng)建并保存報表。

在調(diào)用Create Report時,我們制定了使用4)中創(chuàng)建的Excel模板。模板不是必須的,但是我覺得模板可以很方便地預(yù)先設(shè)定報表格式,可以簡化不少工作。在有模板的情況下,Append Text to Report等VI可以使用模板中定義的名稱(公式-定義名稱)指定待寫入內(nèi)容在報表中的位置。

wKgaomTHIfGAAQxBAAGCirJqGKw716.png

產(chǎn)生的報表如下。截屏是包含報表的Excel電子表格,可以看到電子表格的名稱已經(jīng)重新命名為我們在代碼中指定的名稱。

wKgaomTHIfGAI7EXAAHc9FyRDm0587.png

下面這個代碼創(chuàng)建和上面類似的報表,但是不使用Excel模板;另外它除了將報表保存為電子表格,還保存為pdf。

wKgZomTHIfGAO6MqAAFTf_VwZ44831.png

產(chǎn)生的excel報表如下。通過指定行、列值,我們把圖表和數(shù)據(jù)放置到報表中間位置了。

wKgZomTHIfGALLc5AATqL7z9IMU696.png

代碼中我們調(diào)用Excel Get ActiveX References獲得了Excel Workbook的ActiveX引用,然后調(diào)用ExportAsFixedFormat方法將報表保存為PDF格式。PDF格式的報表效果如下。

wKgaomTHIfGAD7OzAAKC4hPowO4983.png

使用Report Generation VIs根據(jù)需要可以創(chuàng)建多種格式和復(fù)雜度的報表,能夠滿足絕大多數(shù)的開發(fā)要求。但是,使用Report Generation VIs創(chuàng)建Word和Excel格式的報表時,以下幾點(diǎn)需要特別注意:

a)計算機(jī)上必須安裝有與文件格式對應(yīng)的Offcie軟件。

要創(chuàng)建Word格式報表,必須安裝有Word軟件;要創(chuàng)建Excel格式報表,必須安裝有Excel軟件。在沒有安裝這些軟件的計算機(jī)上,運(yùn)行產(chǎn)生Word或Excel格式報表的代碼,無法產(chǎn)生報表,并可能會導(dǎo)致軟件運(yùn)行異常。

b)Office的版本需要是LabVIEW支持的版本。

c)32位的LabVIEW只能完美支持32位的Office。64位的LabVIEW能夠支持64位的Office,是否能夠完美支持32位的Office我沒有測試過。32位的LabVIEW+64位的Office,會導(dǎo)致出現(xiàn)報表不能保存、保存報表時LabVIEW崩潰退出等問題。

d)如果不能保存報表、又不報任何錯誤,可以嘗試下面這個方法。

在“C:Program Files (X86)National InstrumentsLabVIEW 2022vi.libaddons_office_exclsub.llb”路徑下找到“Excel_Save_Workbook.vi”,打開可以看見一個灰色的調(diào)用節(jié)點(diǎn),右鍵選擇Relink,然后保存。

wKgaomTHIfGAWyawAANRxXSIDTc153.png

Relink之后的變化:

wKgZomTHIfGAR3xXAAO2aEiDTFk177.png

借助Report Generation VIs生成報表需要安裝有Office軟件,需要Office的版本是LabVIEW支持的,如果是32位的LabVIEW則不能使用64位的Office,這些條件在目標(biāo)機(jī)器上是不一定能夠滿足的,計算機(jī)更新或維護(hù)后Office版本可能也會有變化。

有沒有辦法可以既能生成Word或Excel格式報表,又不依賴Office軟件呢?我們可以使用下面介紹的工具。

3.Viewpoint Xlsx Toolkit/Viewpoint Docx Toolkit

從名稱就可以看出來,這兩個插件一個負(fù)責(zé)產(chǎn)生Excel格式的報表,另一個負(fù)責(zé)產(chǎn)生Word格式的報表。與Report Generation VIs不同的時,它們不需要部署的計算機(jī)上安裝有Excel或Word軟件。

這兩個插件都可以在VIPM里找到。我們以Viewpoint Docx Toolkit為例,說明一下怎么生成word報表。

這個插件不是免費(fèi)的,但是我覺得很便宜。一個License的價格是1865元,只需要開發(fā)端授權(quán),使用該插件開發(fā)的功能可以免費(fèi)部署到任意臺計算機(jī)上,與每臺應(yīng)用端部署Office的成本比起來是不是很優(yōu)惠?

wKgZomTHIfGAVFqWAAGpvAuk6yY491.png

安裝好之后,我們可以在Programming分類下找到Viewpoint Docx Toolkit。

wKgaomTHIfGAWPhPAACWx-dDIWM137.png

下面的代碼使用Viewpoint Docx Toolkit提供的API函數(shù)創(chuàng)建word報表。

wKgZomTHIfGAfi0FAAFhwEoceqI091.png

創(chuàng)建的速度非???,比使用Report Generation VIs創(chuàng)建報表要迅速得多,而且不需要計算機(jī)上安裝有Office軟件。創(chuàng)建好的報表如下。

wKgZomTHIfGAYvjuAAFJmDkYeHk474.png

好了,以上是關(guān)于LabVIEW里快速創(chuàng)建報表的一些介紹,希望能夠幫助到大家。因?yàn)槭褂肙ffice的ActiveX創(chuàng)建報表,都比上面的方法復(fù)雜,就不詳細(xì)說明了。文章如有不對的地方歡迎大家指正。

審核編輯:湯梓紅

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

    關(guān)注

    1970

    文章

    3654

    瀏覽量

    323267
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3614

    瀏覽量

    93685
  • Excel
    +關(guān)注

    關(guān)注

    4

    文章

    218

    瀏覽量

    55517
  • 報表
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    9369

原文標(biāo)題:談?wù)凩abVIEW怎么事半功倍出報表

文章出處:【微信號:傳感測控物聯(lián)網(wǎng),微信公眾號:傳感測控物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    LABVIEW報表創(chuàng)建工具遇到的個問題,麻煩大佬幫忙看

    報表插入之后打開EXCEL選定的保存位置會提示如下 此時無論點(diǎn)是或者否保存的數(shù)據(jù)都會消失,仔細(xì)觀察之后發(fā)現(xiàn)創(chuàng)建報表創(chuàng)建的EXCEL進(jìn)程,無法被處置
    發(fā)表于 10-09 10:03

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

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

    labview程序動態(tài)創(chuàng)建快捷菜單,對表格屬性的一些簡單應(yīng)用

    labview程序動態(tài)創(chuàng)建快捷菜單,對表格屬性的一些簡單應(yīng)用
    發(fā)表于 05-26 14:26

    LabVIEW你不可不知的一些控件或常量的創(chuàng)建

    使用Labview的都知道,數(shù)據(jù)顯示或傳送都依靠控件來完成的,大部分控件如數(shù)值、布爾、波形等等一些控件Labview中已經(jīng)封裝好,從函數(shù)面板中拖出就可使用,但是有時變成會涉及到一些如數(shù)
    發(fā)表于 02-06 11:45

    Labview創(chuàng)建新的excel報表

    Labview創(chuàng)建新的excel報表,出現(xiàn)如下錯誤該錯誤代碼未定義。出現(xiàn)未定義錯誤可能有多種原因。例如,代碼說明不存在,或者連線輸入的數(shù)值并非對應(yīng)于錯誤輸入的錯誤代碼。 此外,出現(xiàn)未定義錯誤代碼
    發(fā)表于 12-27 16:30

    關(guān)于表格控件的一些使用方法

    關(guān)于表格控件的一些使用方法,里面有源程序,說明文檔,不足之處,希望指點(diǎn)指點(diǎn)
    發(fā)表于 09-20 22:57

    講述了一些快速配置驅(qū)動的方法

    ,這個博文講述了一些快速配置驅(qū)動的方法;還有藍(lán)橋杯單片機(jī)組編程題準(zhǔn)備 -模塊編程練習(xí)這里面有一些模塊練習(xí)題,可以很方便的記憶一些鍵盤掃描啊、
    發(fā)表于 01-27 06:31

    關(guān)于單形體積的一些不等式

    應(yīng)用距離幾何理論與解析方法,研究了一些單形體積之間的關(guān)系,建立了關(guān)于單形體積的一些新的不等式,作為其特例,獲得垂足單形體積的個不等式和單形
    發(fā)表于 11-20 11:55 ?14次下載

    關(guān)于電池的一些疑問解答

    關(guān)于電池的一些疑問解答 (1)電池不用時,低溫冷藏,正確嗎?  錯誤,將電池低溫冷藏并不能夠延長電池的使用壽命
    發(fā)表于 11-13 14:25 ?582次閱讀

    關(guān)于紅外通信的一些問題知識點(diǎn)

    關(guān)于紅外通信的一些問題知識點(diǎn)。
    發(fā)表于 05-05 17:40 ?4次下載

    關(guān)于PID一些常用知識

    本文檔詳細(xì)介紹分析了關(guān)于PID的一些常用知識
    發(fā)表于 08-29 14:22 ?2次下載

    邊干邊學(xué)LabVIEW報表生成

    邊干邊學(xué)LabVIEW報表生成,word報告生成
    發(fā)表于 12-16 23:10 ?40次下載

    LabVIEW程序-關(guān)于生成Excel報表的程序

    LabVIEW程序,關(guān)于生成Excel報表的程序
    發(fā)表于 12-28 10:54 ?114次下載

    關(guān)于數(shù)碼管的一些知識筆記

    “寫寫關(guān)于數(shù)碼管的一些知識筆記”
    的頭像 發(fā)表于 06-28 11:29 ?3516次閱讀
    <b class='flag-5'>關(guān)于</b>數(shù)碼管的<b class='flag-5'>一些</b>知識筆記

    labview生成專業(yè)的測試報表工具

    Labview軟件免費(fèi)的報表生成工具
    發(fā)表于 12-21 09:57 ?32次下載
    RM新时代网站-首页