1、 引言
隨著Internet的飛速發(fā)展,基于Web開發(fā)的業(yè)務(wù)應(yīng)用系統(tǒng)越來越多,如辦公自動化、電子商務(wù)和管理信息系統(tǒng)(MIS)等。這些Web業(yè)務(wù)應(yīng)用系統(tǒng)經(jīng)常涉及到數(shù)據(jù)的統(tǒng)計、報表和打印。ASP在實施動態(tài)交互和生成動態(tài)頁面方面具有很大的優(yōu)勢,但在處理復(fù)雜數(shù)據(jù)統(tǒng)計、報表和打印時卻遇到不小的麻煩。本文闡述一種利用ASP實現(xiàn)Web數(shù)據(jù)統(tǒng)計、報表的基本思路和實現(xiàn)方法,同時提供一種巧妙調(diào)用Word打印報表的解決方案。
2、 應(yīng)用實例
假設(shè)有一家公司利用網(wǎng)絡(luò)MIS系統(tǒng)對公司員工進行管理,必然會涉及到各部門的員工統(tǒng)計。為了簡單起見,假設(shè)最終的統(tǒng)計報表如下: 公司員工統(tǒng)計表部門合計員工姓名市場部2張三 李四研發(fā)部3王五 趙六 劉七員工合計5 與傳統(tǒng)單機MIS系統(tǒng)相比,在網(wǎng)絡(luò)MIS系統(tǒng)中使用ASP實現(xiàn)以上數(shù)據(jù)統(tǒng)計、報表和打印會遇到以下問題:(1) 數(shù)據(jù)統(tǒng)計時需要按部門進行分類統(tǒng)計,同時要記下各部門員工的具體名單。(2) 報表生成時需按具體要求動態(tài)繪制幾行幾列表格,同時在適當(dāng)?shù)牡胤奖3挚瞻?。?) 表格打印可以簡單地按網(wǎng)頁打印,但效果不好,而且不容易控制。
3、 實現(xiàn)方法
簡述基于Web的業(yè)務(wù)應(yīng)用一般采用三層結(jié)構(gòu),客戶端是普通的Web瀏覽器,中間業(yè)務(wù)邏輯應(yīng)用層存放于Web服務(wù)器上,由Web服務(wù)器上的數(shù)據(jù)庫接口訪問后臺數(shù)據(jù)庫。利用ASP實現(xiàn)Web數(shù)據(jù)統(tǒng)計、報表和打印的過程如圖所示:瀏覽器 HTML VBScript 統(tǒng)計報表 Word 對象 Web服務(wù)器業(yè)務(wù)邏輯實現(xiàn)數(shù)據(jù)庫訪問接口數(shù)據(jù)庫 Word本地打印 (1) 客戶端向Web服務(wù)器發(fā)送數(shù)據(jù)統(tǒng)計請求。(2) Web服務(wù)器執(zhí)行SQL語句,從后臺數(shù)據(jù)庫取得統(tǒng)計數(shù)據(jù),在頁面上動態(tài)生成報表。(3) 在客戶端運行腳本,使用VBScript腳本函數(shù)CreateObject在本地創(chuàng)建Word的Document對象的實例,也就是在客戶端創(chuàng)建Word文檔,設(shè)定表格屬性,然后將頁面上的報表數(shù)據(jù)填入本地Word表格,最后保存文檔,執(zhí)行本地Word打印。
4、 實現(xiàn)過程分析
(1)數(shù)據(jù)庫連接首先建立數(shù)據(jù)庫(data.mdb),簡單的員工資料表(personnel)結(jié)構(gòu)如下: personnel:department,文本;name,文本;然后建立一個ODBC數(shù)據(jù)源(DSN),利用DSN指向ODBC數(shù)據(jù)庫。(2)程序代碼分析(在此只分析統(tǒng)計報表程序#asp) //以下顯示表格標題和輸出表頭公司員工統(tǒng)計表 //注意:此處標明表格的id為data 部門 合計 員工姓名 //如果flag為0,表示該部門是首次出現(xiàn),表格此處就應(yīng)該輸出部門名稱,部門員工合計人數(shù) //如果flag不為0,表示該部門不是首次出現(xiàn),表格此處就應(yīng)該輸出空白 //無論該部門是否首次出現(xiàn),此處輸出員工姓名 //表格最后一行輸出總?cè)藬?shù)合計 員工合計 打印"> //點擊“打印”按鈕,調(diào)用vbscript函數(shù)buildDoc生成本地Word文檔,實現(xiàn)本地打印。 //以下VBScript代碼實現(xiàn)buildDoc函數(shù)
5、 結(jié)束語
以上程序在Windows2000及IIS5.0下運行通過,數(shù)據(jù)庫采用Access2000。執(zhí)行打印之前,需要將瀏覽器的安全級別設(shè)為低,或在中級安全級別下將ActiveX控件設(shè)為啟用。該方法的優(yōu)點在于實現(xiàn)統(tǒng)計報表十分簡單,調(diào)用Word打印非常方便,并且可以按用戶要求對表格屬性進行設(shè)置;不足之處是需要調(diào)節(jié)瀏覽器的安全設(shè)置,且不支持圖片和特殊字體的打印,同時客戶端必須安裝Microsoft Word軟件。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。