巧用控件優雅的將報表嵌入到組態軟件中
距上一篇文章,我們已經學會如何將數據插入到數據庫,并且通過excel讀出數據,形成報表。
美中不足,每次需要調用excel才能打開報表,能不能直接在組態頁面里面看報表呢?
偶然學習,發現dsoframer.ocx這個控件,可以嵌入到各面對對象的編程軟件中。DSOFramer是微軟提供的一款用于在線編輯、調用Word、Excel等Office程序的ActiveX組件。很多第三方的Office組件都是基于DSOFramer組件開發的。經過學習運用,完成了需求。現在帶領大家如何使用這個控件。
第一步必須在Windows操作系統中注冊該組件。
注冊方法很簡單:
將dsoframer.ocx復制到windows\system32目錄。
在命令行運行regsvr32命令注冊dsoframer.ocx。
注意:這里命令提示符需要用管理員權限打開。
如果以上辦法失敗,也可以嘗試采用“運行”的方式進行注冊。
最終目的,必須保證控件注冊成功。
注冊成功后,Windows操作系統會提示“DllRegisterServer 在 dsoframer.ocx 成功”。
第二步,在組態軟件中加載控件使用
通過第一步,我們已經在電腦上注冊了Dsoframer.ocx控件,現在就是利用控件。
右擊ActiveX控件,完成DSO Framer Control Object的加載。
最終加載成功,如圖所示。
第三步,簡單設置就可以嵌入到組態中
直接拖拽控件到頁面合適的位置,并完成大小的設置。這里可以對控件當中的菜單欄、工具欄、標題欄等進行隱藏或者顯示。
也可以通過腳本進行設置。
dso.Menubar=False
dso.Toolbars=False
dso.Titlebar=False
第四步,頁面添加按鈕事件,連接打開的文件。
廢話不多說,直接上圖。
第五步:運行起來
通過兩個不同的按鈕,可以完成不同報表的切換顯示。
并且報表內的查詢數據庫腳本也能正常工作。滿足需求。可惜老板不肯加工資。繼續努力。
注冊:把這個文件放在C:\Windows\SysWOW64目錄下,去目錄下找到cmd.exe,右鍵用管理員身份運行,然后 輸入命令 regsvr32 c:/dsoframer.ocx就可以了。成功時如下:
這里其實復制到哪個目錄下都可以的,重點是cmd要用管理員運行
先右擊選擇“選擇項”
在com組件中選擇"dso Framer Control Object",確定
這樣工具箱中就有這個工具了