真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net報(bào)表設(shè)計(jì) vb報(bào)表設(shè)計(jì)源代碼guan方下載

用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以啟動(dòng)程序 軟件欲實(shí)現(xiàn)的功能是 點(diǎn)擊Button 自動(dòng)查找符合日期符合日期范圍的生產(chǎn)計(jì)劃工作表 然后利用SortedList統(tǒng)計(jì)各個(gè)辦事處的計(jì)劃數(shù)量和未完成數(shù)量 及各個(gè)產(chǎn)品型號(hào)的計(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ǔ)知識(shí)外 本例主要用到SortedList類 SortedList類表示鍵/值對的集合 這些鍵和值按鍵排序并可按照鍵和索引訪問 SortedList 是 Hashtable 和 Array 的混合 當(dāng)使用 Item 索引器屬性按照元素的鍵訪問元素時(shí) 其行為類似于 Hashtable 當(dāng)使用 GetByIndex 或 SetByIndex 按照元素的索引訪問元素時(shí) 其行為類似于 Array SortedList 在內(nèi)部維護(hù)兩個(gè)數(shù)組以將數(shù)組存儲(chǔ)到列表中 即 一個(gè)數(shù)組用于鍵 另一個(gè)數(shù)組用于相關(guān)聯(lián)的值 每個(gè)元素都是一個(gè)可作為 DictionaryEntry 對象進(jìn)行訪問的鍵/值對 鍵不能為空引用(Visual Basic 中為 Nothing) 但值可以 SortedList 的容量是列表可擁有的元素?cái)?shù) 隨著向 SortedList 中添加元素 容量通過重新分配按需自動(dòng)增加 可通過調(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 行號(hào) As Integer = Dim 列號(hào) As Integer = Dim 辦事處計(jì)劃數(shù)統(tǒng)計(jì) As New SortedListDim 辦事處完成數(shù)統(tǒng)計(jì) As New SortedListDim 型號(hào)計(jì)劃數(shù)統(tǒng)計(jì) As New SortedListDim 型號(hào)完成數(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)行號(hào) = 生產(chǎn)計(jì)劃表中生產(chǎn)數(shù)據(jù)從第四行開始列號(hào) = 第 列是計(jì)劃下發(fā)日期 從計(jì)劃下發(fā)日期判斷是否是所要數(shù)據(jù)Dim 臨時(shí)行號(hào) As Integer = 求得工作表中最后一行所在的行號(hào) 從第四行開始往下計(jì)算While 生產(chǎn)計(jì)劃表 Cells(臨時(shí)行號(hào) 列號(hào)) value Nothing MsgBox(生產(chǎn)計(jì)劃表 Cells(行號(hào) 列號(hào)) value 行號(hào))臨時(shí)行號(hào) += End While臨時(shí)行號(hào) = 得到生產(chǎn)計(jì)劃表中 最后數(shù)據(jù)行所在的行號(hào) MsgBox(臨時(shí)行號(hào))For 行號(hào) = To 臨時(shí)行號(hào) 生產(chǎn)計(jì)劃標(biāo)準(zhǔn)格式行號(hào)從 開始 到工作表中最后一行If (CDate(DateTimePicker Value ToShortDateString) = CDate(生產(chǎn)計(jì)劃表.Cells(行號(hào), 列號(hào)).value)) And (CDate(DateTimePicker2.Value.ToShortDateString) = CDate(生產(chǎn)計(jì)劃表 Cells(行號(hào) 列號(hào)) value)) Then 如果日期在規(guī)定范圍內(nèi) 灶具各城市分布情況Dim 城市 As String = 生產(chǎn)計(jì)劃表 Cells(行號(hào) ) value 第 列是城市名稱Dim 計(jì)劃數(shù) As Decimal = CType(生產(chǎn)計(jì)劃表 Cells(行號(hào) ) value Decimal) 第 列是計(jì)劃數(shù)Dim 完成數(shù) As Decimal = CType(生產(chǎn)計(jì)劃表 Cells(行號(hào) ) 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ì)算灶具型號(hào)分布情況Dim 型號(hào) As String = Strings.Left(生產(chǎn)計(jì)劃表.Cells(行號(hào), 2).value, 3) '灶具型號(hào)在第3列If 型號(hào)計(jì)劃數(shù)統(tǒng)計(jì).Contains(型號(hào)) Then型號(hào)計(jì)劃數(shù)統(tǒng)計(jì).Item(型號(hào)) += 計(jì)劃數(shù)Else型號(hào)計(jì)劃數(shù)統(tǒng)計(jì).Add(型號(hào), 計(jì)劃數(shù))End IfIf 型號(hào)完成數(shù)統(tǒng)計(jì).Contains(型號(hào)) Then型號(hào)完成數(shù)統(tǒng)計(jì).Item(型號(hào)) += 未完成數(shù)Else型號(hào)完成數(shù)統(tǒng)計(jì).Add(型號(hào), 未完成數(shù))End IfEnd IfNextEnd IfNextDim 城市數(shù) As Integer = 辦事處計(jì)劃數(shù)統(tǒng)計(jì).CountDim 城市數(shù)clone As Integer = 辦事處計(jì)劃數(shù)統(tǒng)計(jì).Count行號(hào) = 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自動(dòng)排序的功能Dim i As Integer = 1For 列號(hào) = 3 To 3 + 城市數(shù) - 1 '從第三列開始填寫數(shù)據(jù),這是預(yù)先定義的格式統(tǒng)計(jì)表.Cells(行號(hào), 列號(hào)).value = 辦事處計(jì)劃數(shù)統(tǒng)計(jì)副本.GetByIndex(城市數(shù)clone - i) '城市統(tǒng)計(jì)表.Cells(行號(hào) + 1, 列號(hào)).value = 辦事處計(jì)劃數(shù)統(tǒng)計(jì)副本.GetKey(城市數(shù)clone - i) '計(jì)劃數(shù)統(tǒng)計(jì)表.Cells(行號(hào) + 2, 列號(hào)).value = 辦事處完成數(shù)統(tǒng)計(jì).Item(辦事處計(jì)劃數(shù)統(tǒng)計(jì)副本 .GetByIndex(城市數(shù)clone - i)) '計(jì)劃數(shù)i += 1Next'以型號(hào)計(jì)劃數(shù)多少排序Dim 型號(hào)計(jì)劃數(shù)統(tǒng)計(jì)副本 As New SortedList辦事處計(jì)劃數(shù)Enum = 型號(hào)計(jì)劃數(shù)統(tǒng)計(jì).GetEnumeratorWhile 辦事處計(jì)劃數(shù)Enum.MoveNext型號(hào)計(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

尋烏網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

如何用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 reportviewe rdlc報(bào)表

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

.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)表設(shè)置記錄行數(shù)

Visualbasic代碼編輯器沒有這個(gè)功能,但可以用第三方的編輯軟件Emedit來實(shí)現(xiàn)這個(gè)功能。

1、用Emedit打開*.frm文件。

2、點(diǎn)工具,當(dāng)前配置屬性,然后勾選顯示行號(hào)即可。


本文標(biāo)題:vb.net報(bào)表設(shè)計(jì) vb報(bào)表設(shè)計(jì)源代碼guan方下載
地址分享:http://weahome.cn/article/dojsspp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部