<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

關于LabVIEW快速創建報表的一些方法

jf_V8z5L4Nx ? 來源:傳感測控物聯網 ? 2023-07-31 10:52 ? 次閱讀

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

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

1.使用圖表控件導出數據功能快速創建數據報表

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

例如下面這個代碼,運行后自動產生一個excel臨時文件,保存產生的信號數據。

wKgaomTHIfCAOR-hAAAg8tCAq5A411.png

上述代碼產生的Excel文件:

wKgaomTHIfCANuy8AAD2BPHButU999.png

這個本質上是通過圖表控件導出數據方法創建的excel文件。其實也可以不用代碼,用戶可以在圖表控件上單擊鼠標右鍵,選擇Export->Export Data to Excel也是可以生成和保存這個Excel文件的。

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

2.Report Generation VIs

想要創建正兒八經的報表,我們需要專業工具。

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

Report Generation VIs可以創建word、excel或者html格式的報表。

wKgaomTHIfCAciB0AALzjzHydnc881.png

1)Report Generation相關VI介紹

分類 VI名稱 功能
/ Create Easy Text Report 創建簡易文本報表,輸出至打印機或者文件。報表格式可以為HTML、Word或Excel,報表內容為文本??稍O置頁眉、頁腳、字體等。
/ Create Report 創建報表,輸出報表引用。通過報表引用可以為報表增加文字、表格、圖像等內容,也可以設置字體、頁眉、頁腳等。報表格式可以為HTML、Word或Excel。
/ Print Report 打印報表。
/ Save Report to File 保存報表。
/ Set Report Font 設置報表字體。
/ Append Report Text 添加文本至報表。
/ Append Table to Report 添加表格至報表。
/ Append List to Report 添加列表至報表。
/ Append Control Image to Report 添加控件圖像至報表。
/ Append Image to Report 添加圖像至報表。
/ Dispose Report 關閉報表并釋放內存。
/ Report 提供設置對話框,設置好報表表頭信息、數據、存儲路徑或打印機等,以預先設置好的格式創建報表。報表文件格式可以為HTML、Word或Excel。
/ MS Office Report 通過模板創建Word或Excel格式報表。
VI Documentation Append VI Block Diagram to Report等 一些可把程序框圖、界面、子VI清單等信息加進報表的VI。
Report Layout Set Report Margin、Set Report Orientation等 一些設置報表布局的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等 附加文件到報表、查詢可用打印機等報表相關高級功能。

2)創建簡易文本報表

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

wKgZomTHIfCAF8hSAAA5CVSgtMY417.png

報表的樣式如下(截屏時調整了瀏覽器窗口大?。?/p>

wKgZomTHIfCAD9A3AAasEk3TUqM001.png

3)創建預先格式化報表

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

wKgaomTHIfCALrQFAAMp4HFC7G4660.png

代碼如下:

wKgZomTHIfCAOBmTAAAwbUD2DjY915.png

運行后產生的word格式報表如下圖(部分)。

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

wKgZomTHIfCALifYAAQP_mgAdKY863.png

4)使用模板創建報表

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

wKgaomTHIfCAcO3IAABay6ttuHE397.png

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

wKgaomTHIfCAEN64AACp5e6k7kM873.png

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

wKgaomTHIfGABVcdAADbp-HBuCY196.png

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

wKgZomTHIfGARRAFAAA9vvvQkOw977.png

產生的excel報表如下圖??梢钥吹?,正如我們期望的那樣,在Signal Graph下面自動插入了信號波形圖形;在Signal Data下自動插入了信號數據,第一列是自動輸入的編號;Autor等輸入的信息,也都填入了指定的位置。

wKgZomTHIfGAPJkDAAVioPQD9nY634.png

這個Excel報表,因為對信號數據的展示重新進行了編排,所以看上去更加美觀了,整個報表只需要一頁。這樣一個報表我想已經能夠滿足很大一部分項目的使用需求了。然而如你所見,它的創建過程其實非常簡單:制作模板、一個VI搞定。

5)使用VI創建報表

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

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

wKgaomTHIfGAAQxBAAGCirJqGKw716.png

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

wKgaomTHIfGAI7EXAAHc9FyRDm0587.png

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

wKgZomTHIfGAO6MqAAFTf_VwZ44831.png

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

wKgZomTHIfGALLc5AATqL7z9IMU696.png

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

wKgaomTHIfGAD7OzAAKC4hPowO4983.png

使用Report Generation VIs根據需要可以創建多種格式和復雜度的報表,能夠滿足絕大多數的開發要求。但是,使用Report Generation VIs創建Word和Excel格式的報表時,以下幾點需要特別注意:

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

要創建Word格式報表,必須安裝有Word軟件;要創建Excel格式報表,必須安裝有Excel軟件。在沒有安裝這些軟件的計算機上,運行產生Word或Excel格式報表的代碼,無法產生報表,并可能會導致軟件運行異常。

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

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

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

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

wKgaomTHIfGAWyawAANRxXSIDTc153.png

Relink之后的變化:

wKgZomTHIfGAR3xXAAO2aEiDTFk177.png

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

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

3.Viewpoint Xlsx Toolkit/Viewpoint Docx Toolkit

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

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

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

wKgZomTHIfGAVFqWAAGpvAuk6yY491.png

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

wKgaomTHIfGAWPhPAACWx-dDIWM137.png

下面的代碼使用Viewpoint Docx Toolkit提供的API函數創建word報表。

wKgZomTHIfGAfi0FAAFhwEoceqI091.png

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

wKgZomTHIfGAYvjuAAFJmDkYeHk474.png

好了,以上是關于LabVIEW里快速創建報表的一些介紹,希望能夠幫助到大家。因為使用Office的ActiveX創建報表,都比上面的方法復雜,就不詳細說明了。文章如有不對的地方歡迎大家指正。

審核編輯:湯梓紅

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

    關注

    1928

    文章

    3620

    瀏覽量

    318089
  • 編程
    +關注

    關注

    88

    文章

    3450

    瀏覽量

    92710
  • Excel
    +關注

    關注

    4

    文章

    212

    瀏覽量

    55247
  • 報表
    +關注

    關注

    0

    文章

    18

    瀏覽量

    9297

原文標題:談談LabVIEW怎么事半功倍出報表

文章出處:【微信號:傳感測控物聯網,微信公眾號:傳感測控物聯網】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    labview程序動態創建快捷菜單,對表格屬性的一些簡單應用

    labview程序動態創建快捷菜單,對表格屬性的一些簡單應用
    發表于 05-26 14:26

    labview一些文章

    labview一些文章
    發表于 05-26 21:43

    labview一些文章

    labview一些文章
    發表于 09-24 17:44

    怎樣快速的得到一些芯幣

    labview 新手想要在貼吧下載點例程,可是芯幣不夠啊。怎樣可以快速的得到一些芯幣呢?
    發表于 04-02 09:08

    LabVIEW你不可不知的一些控件或常量的創建

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

    Labview創建新的excel報表

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

    關于labview報表工具的安裝

    我的是labview2013版本的 為什么我安裝好報表工具好后 面板上依舊沒有MS Office 這個選擇圖標還有關于 查找范例里面生成報表范例說我沒裝 是我本身安裝的軟件就有問題嘛
    發表于 01-13 22:43

    關于AF的一些初步認識

    消息攜帶的數據。Sned Beta Task.vi是其他操作者用來發送“任務”消息至Beta操作者的VI,該Vi將創建消息的個實例并用一些消息填充信息Do.vi定義了Beta收到“任務“消息時執行的動作
    發表于 11-24 20:21

    關于表格控件的一些使用方法

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

    關于labview一些小程序

    一些關于labview的小程序
    發表于 06-23 23:31

    講述了一些快速配置驅動的方法

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

    基于LabVIEW的自動測試系統中的報表生成研究

    為實現虛擬儀器系統中完備、優越的報表生成功能,對在LabVIEW平臺下生成報表的問題進行了研究。在介紹討論了常用的幾種報表生成方法及相應優缺
    發表于 03-17 11:03 ?71次下載

    邊干邊學LabVIEW報表生成

    邊干邊學LabVIEW報表生成,word報告生成
    發表于 12-16 23:10 ?39次下載

    LabVIEW程序-關于生成Excel報表的程序

    LabVIEW程序,關于生成Excel報表的程序
    發表于 12-28 10:54 ?109次下載

    labview生成專業的測試報表工具

    Labview軟件免費的報表生成工具
    發表于 12-21 09:57 ?4次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>