欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
利用VB設計打印復雜報表
作者:cnviolet 時(shí)間:2001-11-03 10:45 出處:互聯(lián)網(wǎng) 責編:chinaitpower
摘要:利用VB設計打印復雜報表
數據庫管理系統的開(kāi)發(fā)人員經(jīng)常感嘆的一個(gè)問(wèn)題就是:我們中國人的報表太復雜了!無(wú)規則、嵌套、斜線(xiàn)、交叉線(xiàn)等歷來(lái)都是困撓開(kāi)發(fā)人員的最大問(wèn)題。設計一個(gè)數據庫固然有一定的技巧,設計數據操作也固然需要一定的邏輯分析能力,但這些問(wèn)題對一般的開(kāi)發(fā)人員來(lái)說(shuō)應該是不成為問(wèn)題的。用戶(hù)可是不管你采用了多么靈活的算法多么方便的操作,他們最感興趣的是最后他們出來(lái)的報表如何漂亮,出報表的操作如何簡(jiǎn)單(最好是一個(gè)按鈕解決所有的問(wèn)題)。筆者在開(kāi)發(fā)數據庫管理系統方面也稍有些經(jīng)驗,從FoxPro、Delphi、PowerBuilder一直到現在用的VB,都遇到過(guò)設計打印報表的問(wèn)題,這些軟件在設計報表的過(guò)程中可謂各有千秋,我這里不一一細說(shuō)。我在這里只向大家介紹一種我迄今為止最為滿(mǎn)意的一種設計打印報表的方法:利用VB操作EXCEL來(lái)生成復雜的報表。
一. 用VB創(chuàng )建外部EXCEL對象
大多數大型 ActiveX-enabled 應用程序和其它 ActiveX 部件,在它們的對象層次中都提供了一個(gè)頂層外部可創(chuàng )建對象。該對象提供了對該層次中其它對象的訪(fǎng)問(wèn),并且還提供對整個(gè)應用程序起作用的方法和屬性。
例如,每個(gè) Microsoft Office 應用程序提供一個(gè)頂層 Application 對象。下面語(yǔ)句顯示了對Microsoft Excel的 Application 對象的引用:
Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
---- 然后,可以用這些變量來(lái)訪(fǎng)問(wèn)在EXCEL應用程序中的從屬對象、以及這些對象的屬性和方法。例如:
Set xlApp = CreateObject("Excel.Application")
‘激活EXCEL應用程序
xlApp.Visible = False ‘隱藏EXCEL應用程序窗口
Set xlBook = xlApp.Workbooks.Open(strDestination)
‘打開(kāi)工作簿,strDestination為一個(gè)EXCEL報表文件
Set xlSheet = xlBook.Worksheets(1)
‘設定工作表
---- 二. 用EXCEL 97設計報表的模版文件
---- EXCEL 97是一個(gè)非常優(yōu)秀的創(chuàng )建報表的工具。它提供的單元格任意合并、拆分和繪圖功能基本上能夠滿(mǎn)足設計所有復雜報表的需求。它對任意一個(gè)單元格的格式隨意控制,更為隨心所欲地設計報表提供了強大的支持。
---- 根據用戶(hù)提供的報表,我們可以很快在EXCEL里生成模版文件。所謂生成模版文件只是為了滿(mǎn)足用戶(hù)多方面的需求而設計的。也是為了適合報表以后的更改而做的一點(diǎn)預備工作。例如用戶(hù)需要打印幾百張職工履歷表,但其格式都是一致的,并且隨著(zhù)時(shí)間和實(shí)際情況的變化,表格格式有可能需要改變,我們設計一個(gè)模版文件顯然可以“以不變應萬(wàn)變”了。
---- 生成工作表時(shí)我們應當記錄下要填充內容的單元格編號和該單元格內要填充的數據字段。這樣形成一個(gè)表格,在寫(xiě)程序時(shí)一目了然。如:
Cell(4,2) 職工姓名 Cell(6,6) 畢業(yè)學(xué)校
Cell(4,4) 職工性別 Cell(6,7) 所學(xué)專(zhuān)業(yè)
Cell(4,6) 職工民族 Cell(6,9) 工作時(shí)間
(表一)
---- 在程序里我們當然不要對模版文件進(jìn)行操作了,我們只需要對模版文件的一個(gè)拷貝進(jìn)行操作就行(這也是我們設計模版文件的一個(gè)目的和好處)。如下面的例子:
Dim strSource, strDestination As String
strSource = App.Path & "\Excels\RegisterFee.xls"
‘RegisterFee.xls就是一個(gè)模版文件
strDestination = App.Path & "\Excels\Temp.xls"
FileCopy strSource, strDestination
‘將模版文件拷貝到一個(gè)臨時(shí)文件
---- 三. 生成工作表內容
---- 有了上述兩步工作的鋪墊,我們下面接著(zhù)就只要根據(表一)的格式給各單元格賦值了。如:
datPrimaryRS.Recordset.MoveFirst
‘datPrimaryRS為Data控件
If IsNull(datPrimaryRS.Recordset!姓名) = False Then
xlSheet.Cells(4, 2) = datPrimaryRS.Recordset!姓名
End If
If IsNull(datPrimaryRS.Recordset!性別) = False Then
xlSheet.Cells(4, 4) = datPrimaryRS.Recordset!性別
End If
If IsNull(datPrimaryRS.Recordset!民族) = False Then
xlSheet.Cells(4, 6) = datPrimaryRS.Recordset!民族
End If
………………
四. 打印報表
生成了工作表后,就可以對EXCEL發(fā)出打印指令了。
注意在執行打印操作之前應該對EXCEL臨時(shí)文件執行一次保存操作,以免在退出應用程序后EXCEL還提示用戶(hù)是否保存已修改的文件,讓用戶(hù)覺(jué)得莫名其妙。如下語(yǔ)句:
xlBook.Save ‘保存文件
xlSheet.PrintOut ‘執行打印
xlApp.Quit ‘退出EXCEL
至此讀者應該看到,我們設計的報表打印是通過(guò)EXCEL程序來(lái)后臺實(shí)現的。用戶(hù)根本看不到具體過(guò)程,他們只看到一張張漂亮的報表輕易地被打印出來(lái)了。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
用Excel控件制作簡(jiǎn)單報表
Access如何制作復雜報表——利用Excel輸出復雜報表 - 表 - Access/Of...
用VB快速讀取EXCEL中的數據到數組中的例子
VB6.0調用Excel制作任意表格
Access利用excel制作復雜報表的方法 - 木子軟件工作室(MUZ SOFTWARE...
vb調用excel方法大全(vb)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久