新聞中心
vb.net reportviewe rdlc報(bào)表
With Me.ReportViewer1 '初始化報(bào)表
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的南充網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
.Dock = DockStyle.Fill
.LocalReport.DataSources.Clear()
.LocalReport.ReportPath = "Report1.rdlc"
.RefreshReport()
End With
報(bào)表在設(shè)計(jì)時(shí),不一定要綁定數(shù)據(jù)源,但在窗體加載時(shí),需要初始化報(bào)表控件,以上代碼可以放在窗體加載的Load事件里,供你參考。
VB.NET WINFORM報(bào)表制作?
為什么不試試報(bào)表工具呢,像FineReport,對(duì)任意選擇字段,直接拖拽就是了。
下載地址:
vb.net 打印功能
可以把數(shù)據(jù)導(dǎo)出到EXCEL,然后使用EXCEL進(jìn)一步處理后使用。
也可以做成vb報(bào)表(VB自帶有)。
先設(shè)置報(bào)表格式,打印時(shí)向報(bào)表傳遞數(shù)據(jù)就可以了。
如何用VB.NET做水晶報(bào)表?
CrystalReportViewer
dataset 定義數(shù)據(jù)源
.rpt 文件描述具體報(bào)表樣式
再加一個(gè)調(diào)用報(bào)表的FORM,就可以實(shí)現(xiàn)簡單的報(bào)表功能
Option Explicit
dim Report as New Cystal1
Private Sub Form_Load()
Screen.MousePointer = vbHourglass
'調(diào)用水晶報(bào)表時(shí)置鼠標(biāo)為沙漏狀 CRViewer91.ReportSource = Report '該語句的賦值將在后面被修改
CRViewer91.ViewReport
Screen.MousePointer = vbDefault '調(diào)用水晶報(bào)表完成后置鼠標(biāo)為默認(rèn)形狀
End Sub
Private Sub Form_Resize()
CRViewer91.Top = 0
CRViewer91.Left = 0
CRViewer91.Height = ScaleHeight
CRViewer91.Width = ScaleWidth
End Sub
在VB.NET,用到了水晶報(bào)表。
如果是FineReport報(bào)表,有兩種方法,一種是需要將數(shù)據(jù)源放在你們本地或網(wǎng)絡(luò)的服務(wù)器上,這樣換一臺(tái)機(jī)器數(shù)據(jù)源也不會(huì)出問題;另一種就是打包時(shí)將所用數(shù)據(jù)也一并打包,了。樓主可以試一下水晶報(bào)表,應(yīng)該是一個(gè)原理。
怎么用VB.net visual basic項(xiàng)目編寫天氣預(yù)報(bào)程序
Visual Basic通用報(bào)表設(shè)計(jì)小結(jié)
本文對(duì)vb設(shè)計(jì)報(bào)表的方法作了一個(gè)小結(jié),大家都知道,在VB平臺(tái)下制作報(bào)表大致有兩種選擇:使用VB自帶的Data Report控件和借助第三方軟件。其中第三方軟件比較著名的就是MS Excel和Seagate公司的CrystalReporter,以下就這三個(gè)方案進(jìn)行詳細(xì)的討論。
1. Data Report控件
1.1 Data Report控件使用方法
由于是VB自帶的控件,所以使用相對(duì)比較方便。使用方法是:首先在"工程"菜單下面選擇"添加Data report"選項(xiàng),這樣Data Report控件就選入到了應(yīng)用程序。
使用Data report的情況大多數(shù)采用數(shù)據(jù)綁定的模式,也就是將此控件與數(shù)據(jù)庫的數(shù)據(jù)表綁定起來以便可以不用編寫代碼就輕松完成報(bào)表的設(shè)計(jì)。要使用數(shù)據(jù)綁定就必須要指定數(shù)據(jù)源,這里的數(shù)據(jù)源不是數(shù)據(jù)控件而是數(shù)據(jù)環(huán)境(Data Environment),選擇"工程"菜單下面選擇"添加Data Environment"選項(xiàng)就可以將數(shù)據(jù)環(huán)境添加進(jìn)應(yīng)用程序中。數(shù)據(jù)環(huán)境有兩個(gè)重要的屬性:Connection 和Command屬性,前者是連接指定的數(shù)據(jù)庫,后者連接指定的數(shù)據(jù)表,一旦這兩者都設(shè)置成功之后,就可以把數(shù)據(jù)環(huán)境作為數(shù)據(jù)源了。只需要把Data report的DataSource屬性設(shè)置為前面的數(shù)據(jù)環(huán)境對(duì)象以及把DataMember設(shè)置為數(shù)據(jù)環(huán)境對(duì)象的Command對(duì)象即可。
1.2 Data Report控件界面元素
完成了Data report控件的數(shù)據(jù)綁定工作之后就可以直接控制報(bào)表的制作與顯示了。這里首先熟悉一下Data report控件的顯示界面:
Data report控件一共有5個(gè)區(qū)組成,分別是報(bào)表頭、頁面頭、細(xì)節(jié)區(qū)、頁面注腳和報(bào)表注腳。報(bào)表頭和報(bào)表注腳是用分別用于整個(gè)報(bào)表的最上部和最下部,它們將出現(xiàn)于整個(gè)報(bào)表的每一頁,可以放置一些報(bào)表名稱,時(shí)間之類的固定文本;頁面頭和頁面注腳只能出現(xiàn)在當(dāng)前頁的最上部和最下部,也就是說它只能出現(xiàn)在當(dāng)前頁中,不出現(xiàn)在其他頁面中,可以放置隨頁面變化的一些量比如頁碼等;而細(xì)節(jié)區(qū)就是用來進(jìn)行實(shí)際顯示的區(qū)域,它是我們最為關(guān)心的區(qū)域,通過在此區(qū)域內(nèi)放置顯示控件可以控制報(bào)表的實(shí)際顯示輸出。這里介紹一下放置文本框控件的使用方法,其實(shí)在綁定情況下只需要設(shè)置其DataMember和Datafield即可,前者用來指定數(shù)據(jù)表,可以設(shè)置為前面數(shù)據(jù)環(huán)境對(duì)象的Command對(duì)象,后者是指定數(shù)據(jù)段,即綁定的數(shù)據(jù)庫的指定字段。這樣不需要編寫任何代碼就可以實(shí)現(xiàn)報(bào)表的顯示工作。
1.3 Data Report控件的打印功能
對(duì)于報(bào)表的打印可以直接使用Data report自帶的打印功能,即可以實(shí)現(xiàn)簡易的報(bào)表打印。不過為了實(shí)現(xiàn)比較復(fù)雜的打印功能,也可以通過程序控制的方法來進(jìn)行。這里只是給出一個(gè)實(shí)現(xiàn)思路:首先需要制作一個(gè)按鈕控件來顯示"打印設(shè)置"的窗口,通過這個(gè)窗口用戶可以設(shè)置打印的相關(guān)的參數(shù),然后在實(shí)現(xiàn)打印的子模塊中使用VB內(nèi)嵌的printer對(duì)象來實(shí)現(xiàn)真實(shí)的打印,該對(duì)象能夠?qū)Υ蛴〉漠?dāng)前位置進(jìn)行定位,而且對(duì)打印的字體等參數(shù)進(jìn)行控制,所以結(jié)合"打印設(shè)置"窗口可以實(shí)現(xiàn)類似于word里面的打印功能。
2.MS Excel
說起報(bào)表設(shè)計(jì)應(yīng)用程序,無意微軟的Excel是一支獨(dú)秀,MS Excel就是用來進(jìn)行表格和報(bào)表設(shè)計(jì)用的應(yīng)用程序,它具有優(yōu)秀的方格控制和宏代碼定制功能。所以如果在設(shè)計(jì)自己的應(yīng)用程序的時(shí)候能夠結(jié)合到Excel的話,那么你的應(yīng)用程序就應(yīng)該是相當(dāng)?shù)耐晟屏?,因?yàn)闊o論是編輯還是打印功能,Excel都提供了很完美的解決方案,所以你的應(yīng)用程序所要做的事情就是實(shí)現(xiàn)程序和Excel通訊即可。
事實(shí)上,可以使用VBscript可以將VB與Excel兩者連接起來。以下就簡要介紹在VB下開發(fā)基于Excel的編程思路。
在VB中處理Excel的對(duì)象大致分為五個(gè):Application對(duì)象、WorkBook對(duì)象、WorkSheet對(duì)象、Range對(duì)象以及Cell對(duì)象。它們的功能分別如下:
Application---------用來指代整個(gè)應(yīng)用程序。
WorkBook----------表示工作簿對(duì)象
WorkSheet---------表示工作表對(duì)象,注意,一個(gè)工作簿可以包含多個(gè)工作表,它們就類似于多文檔中的框架窗口和里面的單個(gè)視圖一樣。
Range-------------表示工作表中的某個(gè)區(qū)域范圍對(duì)象,特殊情況下也可以只代表一個(gè)Cell。
Cell---------------表示特定工作表的一個(gè)單元格對(duì)象。這個(gè)對(duì)象的使用頻率是最高的。
清楚了以上的五個(gè)對(duì)象的應(yīng)用范圍,那么使用它們就很簡單了,不過在使用這些對(duì)象之前,首先需要對(duì)它們進(jìn)行聲明。方法是在"工程"的"引用"對(duì)話框之下選擇"Microsoft Excel9.0 Object Library",這樣就將整個(gè)Excel對(duì)象庫就引入到程序中來了。
下面舉一個(gè)示例,其實(shí)現(xiàn)的功能是打開一個(gè)工作簿。
Function OpenBook(strFilePath As String) As Boolean
' This procedure checks to see if the workbook
' specified in the strFilePath argument is open.
' If it is open, the workbook is activated. If it is
' not open, the procedure opens it.
Dim wkbCurrent As Excel.Workbook
Dim strBookName As String
On Error GoTo OpenBook_Err
' Determine the name portion of the strFilePath argument.
strBookName = NameFromPath(strFilePath)
If Len(strBookName) = 0 Then Exit Function
If Workbooks.Count 0 Then
For Each wkbCurrent In Workbooks
If UCase$(wkbCurrent.Name) = UCase$(strBookName) Then
wkbCurrent.Activate
Exit Function
End If
Next wkbCurrent
End If
Workbooks.Open strBookName
OpenBook = True
OpenBook_End:
Exit Function
OpenBook_Err:
OpenBook = False
Resume OpenBook_End
End Function
3.Crystal Reporter(水晶報(bào)表)
做為一個(gè)優(yōu)秀的報(bào)表軟件,水晶報(bào)表是實(shí)際應(yīng)用中最多的方案。在這一節(jié)里主要介紹一下水晶報(bào)表的定制和顯示,打印功能的實(shí)現(xiàn)。
首先要區(qū)分Crystal Reports插件程序和Crystal Reports控件。前者主要用來創(chuàng)建報(bào)表模板,后者主要是用來在程序中顯示和打印報(bào)表,這兩者的分工決定了它們程序中的功能的不同。
其中Crystal Reports的插件程序可以從Seagate公司的官方網(wǎng)站上下載最新的測試版本。
3.1 Crystal Reports插件程序的使用
選擇"外接程序"菜單的"報(bào)表設(shè)計(jì)器"選項(xiàng),則VB將執(zhí)行Crystal Reports Pro插件應(yīng)用程序。在Crystal Reports Pro里選擇"新建報(bào)表"圖標(biāo),可以選擇8標(biāo)準(zhǔn)模板和一個(gè)自定義的模板來開始報(bào)表工程。
整個(gè)水晶報(bào)表的使用跟第一節(jié)的Data Report的使用很類似。首先需要給報(bào)表選擇數(shù)據(jù)源,(即數(shù)據(jù)庫),然后就可以在報(bào)表中添加、刪除、修改字段以及為記錄分組,可以利用水晶報(bào)表創(chuàng)建很多具有自定義風(fēng)格的報(bào)表。由于本身Crystal Reports插件程序就是一個(gè)功能強(qiáng)大的報(bào)表設(shè)計(jì)軟件,這里就不能一一的講解了,有興趣可以參考程序自帶的幫助文檔。
3.2 Crystal Reports控件的背景知識(shí)
Crystal Reports Pro還提供一個(gè)報(bào)表生成模塊,該模塊可以連接到并訪問VB應(yīng)用程序,VB程序員不需花費(fèi)大量時(shí)間寫自己的代碼就可再應(yīng)用程序中添加復(fù)雜的報(bào)表生成及輸出功能。
Crystal Reports引擎是一個(gè)動(dòng)態(tài)鏈接庫,它可以使應(yīng)用程序訪問并具有同Crystal Reports 一樣強(qiáng)大的報(bào)表輸出功能。應(yīng)用程序是通過Crystal Reports ActiveX控件來訪問引擎。再編譯時(shí)應(yīng)用程序同報(bào)表引擎鏈接,以給應(yīng)用程序添加了生成報(bào)表的功能。
當(dāng)程序使用Crystal Reports ActiveX控件時(shí),可以通過再設(shè)計(jì)時(shí)設(shè)置Crystal對(duì)象屬性或者再運(yùn)行時(shí)改變對(duì)象屬性,來建立應(yīng)用程序和Crystal Reports之間的連接。通過Crystal控件的屬性可以指定:
響應(yīng)應(yīng)用程序某個(gè)事件的輸出報(bào)表的名字。
報(bào)表的目標(biāo)位置(預(yù)覽窗口、磁盤文件或者電子郵件等)。
想要打印的份數(shù)(如果報(bào)表提交給打印機(jī)的話)。
輸出文件的信息。
預(yù)覽窗口的大小及位置信息(如果報(bào)表在預(yù)覽窗口中顯示時(shí))。
選擇公式信息(如果在報(bào)表中限制記錄的話)。
排序信息。
其他相關(guān)的屬性。
這里要注意一點(diǎn)的是,Crystal控件必須在由Crystal Reports Pro創(chuàng)建的報(bào)表中使用,而試圖在VB應(yīng)用程序里引用之前,必須首先創(chuàng)建報(bào)表。
3.3 Crystal Reports控件的使用
了解了Crystal Reports控件的功能,那么就可以使用它了。首先通過"工程"的"部件"選項(xiàng)里面選擇"Crystal Reports Control",那么VB的工具箱里面就添加了Crystal Reports控件了。
注意,對(duì)于Crystal Reports控件的最重要的屬性就是ReportFileName了,把它設(shè)置為前面已經(jīng)在Crystal Reports Pro里定制好的報(bào)表模板的文件路徑。那么只需要調(diào)用控件的PrintReport方法就可以將報(bào)表顯示出來了。
相對(duì)于Data Report控件來說,Crystal Reports控件的功能更加的完善,報(bào)表預(yù)覽,打印,編輯修改等功能都很完善,所以在實(shí)際的報(bào)表應(yīng)用設(shè)計(jì)方案中,使用Crystal Reports的相對(duì)較多。然而Crystal Reports控件也有它的局限性,即它不能在運(yùn)行時(shí)創(chuàng)建自定義的窗口??梢允褂每丶臄?shù)據(jù)綁定屬性來創(chuàng)建數(shù)據(jù)綁定報(bào)表,但是報(bào)表本身的格式都是由Crystal Reports控件內(nèi)部進(jìn)行處理的。一般說來,Crystal Reports控件不提供在程序中對(duì)報(bào)表字段級(jí)的訪問。這一缺陷可以通過設(shè)計(jì)出足夠多的報(bào)表來彌補(bǔ)。
4.其他方法
除了通過上述的三種方法來實(shí)現(xiàn)報(bào)表設(shè)計(jì)以外,當(dāng)然也可以直接利用Win32 API來進(jìn)行直接進(jìn)行設(shè)計(jì),這種方式是最為靈活也是最為繁瑣的方式,因?yàn)樗械木庉?、修改、打印等功能都是由程序控制,所以一般情況下不會(huì)使用這樣的方式來處理,這里就不介紹了。
5.小結(jié)
報(bào)表設(shè)計(jì)是程序員經(jīng)常要遇到的問題,本文主要介紹目前主流的報(bào)表設(shè)計(jì)方案,由于所涉及到的知識(shí)點(diǎn)比較多,限于篇幅,在這里只是作了簡要的介紹,希望可以起到拋磚引玉的作用。
網(wǎng)站名稱:vb.net自帶的報(bào)表,wincc用vb報(bào)表
當(dāng)前路徑:http://www.dlmjj.cn/article/hdoejd.html