vb點(diǎn)虐 做數(shù)據(jù)報(bào)表 vb中生成數(shù)據(jù)表格

vb點(diǎn)虐 reportviewe rdlc報(bào)表

With Me.ReportViewer1 '初始化報(bào)表

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供湖南網(wǎng)站建設(shè)、湖南做網(wǎng)站、湖南網(wǎng)站設(shè)計(jì)、湖南網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、湖南企業(yè)網(wǎng)站模板建站服務(wù),10年湖南做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

.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做水晶報(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點(diǎn)虐 中如何制作水晶報(bào)表?

這個(gè)專業(yè)我也學(xué)得不是很好,用書上得例子吧。

某公司盡力需要了解公司在全國各地得銷售情況,設(shè)計(jì)一個(gè)水晶報(bào)表。統(tǒng)計(jì)個(gè)地區(qū)得銷售總額和全國總額

準(zhǔn)備工作

用 SQL server 2000 創(chuàng)建一個(gè)數(shù)據(jù)庫company 在該數(shù)據(jù)庫中創(chuàng)建一個(gè)表Sales.用于儲存區(qū)域銷售數(shù)據(jù)

在表Sales 中添加若干條記錄

設(shè)計(jì)報(bào)表

打開 Visual Studio.NET創(chuàng)建名為 Salesreport得 WINDOWS應(yīng)用程序 將Form1.cs 名更改為 frmSalesReport.cs

frmSalesReport窗體得屬性設(shè)置里。 吧 frmSalesReport.cs得Text屬性更改為"區(qū)域銷售報(bào)表"

把NAME屬性更改為frmSalesReport。

在 VisualStudio.NET 菜單中選擇 項(xiàng)目添加新項(xiàng)。在"添加新項(xiàng)"窗口得“類別”區(qū)域擴(kuò)展 “本地項(xiàng)目項(xiàng)”,選擇數(shù)據(jù),在"模板"區(qū)域選擇"數(shù)據(jù)集" 在"名稱"那將Dataset1.xsd改名 SalesDetaset.xsd

單擊"打開" 將生成一個(gè)新得結(jié)構(gòu)文件 SalesDataset.xsd 該文件將顯示在 ADO.NET數(shù)據(jù)集設(shè)計(jì)器中。

用VB.NET結(jié)合Excel設(shè)計(jì)統(tǒng)計(jì)生產(chǎn)報(bào)表

用EXCEL做企業(yè)生產(chǎn)報(bào)表的理由 Excel表格生成和公式設(shè)置十分強(qiáng)大便利 是一個(gè)強(qiáng)有力的信息分析與處理工具 特別是EXCEL的公式 函數(shù) VBA語言 功能極其強(qiáng)大 我試用過其他電子表格軟件 在功能上和EXCEL根本沒有可比性 Visual Studio NET也同樣是MicroSoft的產(chǎn)品 Visual Studio NET調(diào)用EXCEL做企業(yè)報(bào)表十分方便 證明當(dāng)時(shí)我選Visual Studio NET作為首選開發(fā)工具是正確的 軟件構(gòu)思 先在EXCEL里定制好名為《統(tǒng)計(jì)表》的樣表(模版) 在樣表中設(shè)置好各種格式 填寫好固定項(xiàng) 在窗體上放很三個(gè)控件 兩個(gè)DateTimePicker控件 用來選擇開始統(tǒng)計(jì)時(shí)間和結(jié)束統(tǒng)計(jì)時(shí)間 一個(gè)Button以啟動程序 軟件欲實(shí)現(xiàn)的功能是 點(diǎn)擊Button 自動查找符合日期符合日期范圍的生產(chǎn)計(jì)劃工作表 然后利用SortedList統(tǒng)計(jì)各個(gè)辦事處的計(jì)劃數(shù)量和未完成數(shù)量 及各個(gè)產(chǎn)品型號的計(jì)劃數(shù)量和未完成數(shù)量 再把SortedList的數(shù)據(jù)讀出寫到《統(tǒng)計(jì)表》中 這里要注意的是 各個(gè)生產(chǎn)報(bào)表格式必須規(guī)范統(tǒng)一 因?yàn)槌绦蚴前凑展潭▎卧裎恢米x取數(shù)據(jù)的 SortedList類 除了具備VB NET調(diào)用EXCEL的基礎(chǔ)知識外 本例主要用到SortedList類 SortedList類表示鍵/值對的集合 這些鍵和值按鍵排序并可按照鍵和索引訪問 SortedList 是 Hashtable 和 Array 的混合 當(dāng)使用 Item 索引器屬性按照元素的鍵訪問元素時(shí) 其行為類似于 Hashtable 當(dāng)使用 GetByIndex 或 SetByIndex 按照元素的索引訪問元素時(shí) 其行為類似于 Array SortedList 在內(nèi)部維護(hù)兩個(gè)數(shù)組以將數(shù)組存儲到列表中 即 一個(gè)數(shù)組用于鍵 另一個(gè)數(shù)組用于相關(guān)聯(lián)的值 每個(gè)元素都是一個(gè)可作為 DictionaryEntry 對象進(jìn)行訪問的鍵/值對 鍵不能為空引用(Visual Basic 中為 Nothing) 但值可以 SortedList 的容量是列表可擁有的元素?cái)?shù) 隨著向 SortedList 中添加元素 容量通過重新分配按需自動增加 可通過調(diào)用 TrimToSize 或通過顯式設(shè)置 Capacity 屬性減少容量 SortedList 的元素將按照特定的 IComparer 實(shí)現(xiàn)(在創(chuàng)建 SortedList 時(shí)指定)或按照鍵本身提供的 IComparable 實(shí)現(xiàn)并依據(jù)鍵來進(jìn)行排序 不論在哪種情況下 SortedList 都不允許重復(fù)鍵 VB NET結(jié)合EXCEL統(tǒng)計(jì)生產(chǎn)報(bào)表 以下是實(shí)現(xiàn)代碼 供參考 為方便初學(xué)者 部份地方加以注釋 Private Sub Form _Load(ByVal sender As Object ByVal e As System EventArgs) Handles MyBase LoadDateTimePicker MaxDate = Date NowDateTimePicker MinDate = # / / #DateTimePicker MaxDate = Date NowDateTimePicker MinDate = # / / #End SubPrivate Sub 灶具分析統(tǒng)計(jì)()Call killEXCEL()Dim excelApp As New Excel ApplicationDim 佳尼 灶具生產(chǎn)計(jì)劃 As Excel WorkbookDim 行號 As Integer = Dim 列號 As Integer = Dim 辦事處計(jì)劃數(shù)統(tǒng)計(jì) As New SortedListDim 辦事處完成數(shù)統(tǒng)計(jì) As New SortedListDim 型號計(jì)劃數(shù)統(tǒng)計(jì) As New SortedListDim 型號完成數(shù)統(tǒng)計(jì) As New SortedListDim 統(tǒng)計(jì)表 As Excel Worksheet Try佳尼 灶具生產(chǎn)計(jì)劃 = excelApp Workbooks Open( E:\my documents\生產(chǎn)計(jì)劃\佳尼 灶具生產(chǎn)計(jì)劃 xls )統(tǒng)計(jì)表 = CType(佳尼 灶具生產(chǎn)計(jì)劃 Worksheets( 統(tǒng)計(jì)表 ) Excel Worksheet)統(tǒng)計(jì)表 Cells( ) value = DateTimePicker Value ToShortDateString 統(tǒng)計(jì)開始日期統(tǒng)計(jì)表 Cells( ) value = DateTimePicker Value ToShortDateString 統(tǒng)計(jì)結(jié)束日期統(tǒng)計(jì)表 Range( c :z ) Value = 先清空統(tǒng)計(jì)表中原來有關(guān)數(shù)據(jù)統(tǒng)計(jì)表 Range( c :z ) Value = Dim 生產(chǎn)計(jì)劃表 As Excel WorksheetFor Each 生產(chǎn)計(jì)劃表 In 佳尼 灶具生產(chǎn)計(jì)劃 Worksheets 遍歷生產(chǎn)計(jì)劃表If Strings Left(生產(chǎn)計(jì)劃表 Name ) = Or Strings Left(生產(chǎn)計(jì)劃表 Name ) = Then 如果是 或 開頭的表名 因生產(chǎn)計(jì)劃表名是 或 開頭 MsgBox(生產(chǎn)計(jì)劃表 Name)行號 = 生產(chǎn)計(jì)劃表中生產(chǎn)數(shù)據(jù)從第四行開始列號 = 第 列是計(jì)劃下發(fā)日期 從計(jì)劃下發(fā)日期判斷是否是所要數(shù)據(jù)Dim 臨時(shí)行號 As Integer = 求得工作表中最后一行所在的行號 從第四行開始往下計(jì)算While 生產(chǎn)計(jì)劃表 Cells(臨時(shí)行號 列號) value Nothing MsgBox(生產(chǎn)計(jì)劃表 Cells(行號 列號) value 行號)臨時(shí)行號 += End While臨時(shí)行號 = 得到生產(chǎn)計(jì)劃表中 最后數(shù)據(jù)行所在的行號 MsgBox(臨時(shí)行號)For 行號 = To 臨時(shí)行號 生產(chǎn)計(jì)劃標(biāo)準(zhǔn)格式行號從 開始 到工作表中最后一行If (CDate(DateTimePicker Value ToShortDateString) = CDate(生產(chǎn)計(jì)劃表.Cells(行號, 列號).value)) And (CDate(DateTimePicker2.Value.ToShortDateString) = CDate(生產(chǎn)計(jì)劃表 Cells(行號 列號) value)) Then 如果日期在規(guī)定范圍內(nèi) 灶具各城市分布情況Dim 城市 As String = 生產(chǎn)計(jì)劃表 Cells(行號 ) value 第 列是城市名稱Dim 計(jì)劃數(shù) As Decimal = CType(生產(chǎn)計(jì)劃表 Cells(行號 ) value Decimal) 第 列是計(jì)劃數(shù)Dim 完成數(shù) As Decimal = CType(生產(chǎn)計(jì)劃表 Cells(行號 ) value Decimal) 第 列是實(shí)際完成數(shù)Dim 未完成數(shù) As Decimal = 用Decimal是因?yàn)楹竺嬉有?shù)If 完成數(shù) 計(jì)劃數(shù) Then '如果沒有完成未完成數(shù) = 計(jì)劃數(shù) - 完成數(shù)End IfIf 城市 "" ThenIf InStr(城市, "沈陽") 0 Or InStr(城市, "鞍山") 0 Or InStr(城市, "哈爾濱")   0 Or InStr(城市, "葫蘆島") 0 ThenIf 辦事處計(jì)劃數(shù)統(tǒng)計(jì).Contains("沈陽") Then辦事處計(jì)劃數(shù)統(tǒng)計(jì).Item("沈陽") += 計(jì)劃數(shù)Else辦事處計(jì)劃數(shù)統(tǒng)計(jì).Add("沈陽", 計(jì)劃數(shù))End IfIf 辦事處完成數(shù)統(tǒng)計(jì).Contains("沈陽") Then辦事處完成數(shù)統(tǒng)計(jì).Item("沈陽") += 未完成數(shù)Else辦事處完成數(shù)統(tǒng)計(jì).Add("沈陽", 未完成數(shù))End IfElseIf 辦事處計(jì)劃數(shù)統(tǒng)計(jì).Contains(城市) Then辦事處計(jì)劃數(shù)統(tǒng)計(jì).Item(城市) += 計(jì)劃數(shù)Else辦事處計(jì)劃數(shù)統(tǒng)計(jì).Add(城市, 計(jì)劃數(shù))End IfIf 辦事處完成數(shù)統(tǒng)計(jì).Contains(城市) Then辦事處完成數(shù)統(tǒng)計(jì).Item(城市) += 未完成數(shù)Else辦事處完成數(shù)統(tǒng)計(jì).Add(城市, 未完成數(shù))End IfEnd IfElseMsgBox(生產(chǎn)計(jì)劃表.Name "沒有城市名稱", MsgBoxStyle.Critical, "生產(chǎn)計(jì)劃中要有城市名稱")excelApp.Visible = True生產(chǎn)計(jì)劃表.Activate()生產(chǎn)計(jì)劃表.Select()End If'以下計(jì)算灶具型號分布情況Dim 型號 As String = Strings.Left(生產(chǎn)計(jì)劃表.Cells(行號, 2).value, 3) '灶具型號在第3列If 型號計(jì)劃數(shù)統(tǒng)計(jì).Contains(型號) Then型號計(jì)劃數(shù)統(tǒng)計(jì).Item(型號) += 計(jì)劃數(shù)Else型號計(jì)劃數(shù)統(tǒng)計(jì).Add(型號, 計(jì)劃數(shù))End IfIf 型號完成數(shù)統(tǒng)計(jì).Contains(型號) Then型號完成數(shù)統(tǒng)計(jì).Item(型號) += 未完成數(shù)Else型號完成數(shù)統(tǒng)計(jì).Add(型號, 未完成數(shù))End IfEnd IfNextEnd IfNextDim 城市數(shù) As Integer = 辦事處計(jì)劃數(shù)統(tǒng)計(jì).CountDim 城市數(shù)clone As Integer = 辦事處計(jì)劃數(shù)統(tǒng)計(jì).Count行號 = 4'依計(jì)劃數(shù)大小排序Dim 辦事處計(jì)劃數(shù)統(tǒng)計(jì)副本 As New SortedListDim asa As Decimal = 0.001 '加上此數(shù)是為了防止鍵值的重復(fù),在工作表中可選不顯示小數(shù)Dim 辦事處計(jì)劃數(shù)Enum As IDictionaryEnumerator = 辦事處計(jì)劃數(shù)統(tǒng)計(jì).GetEnumeratorWhile 辦事處計(jì)劃數(shù)Enum.MoveNext辦事處計(jì)劃數(shù)統(tǒng)計(jì)副本.Add(辦事處計(jì)劃數(shù)Enum.Value + asa, 辦事處計(jì)劃數(shù)Enum.Key)asa += 0.001End While'這里利用SortedList自動排序的功能Dim i As Integer = 1For 列號 = 3 To 3 + 城市數(shù) - 1 '從第三列開始填寫數(shù)據(jù),這是預(yù)先定義的格式統(tǒng)計(jì)表.Cells(行號, 列號).value = 辦事處計(jì)劃數(shù)統(tǒng)計(jì)副本.GetByIndex(城市數(shù)clone - i) '城市統(tǒng)計(jì)表.Cells(行號 + 1, 列號).value = 辦事處計(jì)劃數(shù)統(tǒng)計(jì)副本.GetKey(城市數(shù)clone - i) '計(jì)劃數(shù)統(tǒng)計(jì)表.Cells(行號 + 2, 列號).value = 辦事處完成數(shù)統(tǒng)計(jì).Item(辦事處計(jì)劃數(shù)統(tǒng)計(jì)副本 .GetByIndex(城市數(shù)clone - i)) '計(jì)劃數(shù)i += 1Next'以型號計(jì)劃數(shù)多少排序Dim 型號計(jì)劃數(shù)統(tǒng)計(jì)副本 As New SortedList辦事處計(jì)劃數(shù)Enum = 型號計(jì)劃數(shù)統(tǒng)計(jì).GetEnumeratorWhile 辦事處計(jì)劃數(shù)Enum.MoveNext型號計(jì)劃數(shù)統(tǒng)計(jì)副本.Add(辦事處計(jì)劃數(shù)Enum.Value + asa, 辦事處計(jì)劃數(shù)Enum.Key)asa += 0.001' MsgBox(辦事處計(jì)劃數(shù)Enum.Valu lishixinzhi/Article/program/net/201311/11282

本文題目:vb點(diǎn)虐 做數(shù)據(jù)報(bào)表 vb中生成數(shù)據(jù)表格
本文鏈接:http://muchs.cn/article24/ddiepce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、微信公眾號、定制網(wǎng)站、網(wǎng)站維護(hù)、外貿(mào)建站、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司