


摘要:本文論述了利用ASP技術將Excel工作表導入到數據庫,將數據庫查詢出來的數據導出到Excel工作表的實現方法,并給出了程序實例。
關鍵詞:ASP? Excel? 數據庫
0 引言
在互聯網高速發展的今天,很多企事業單位建立了自己的網站,網站信息管理員平時把數據輸入到網站的數據庫,網站程序會自動計算、統計、分析數據,并產生用戶所需的報表,但目前很多B/S結構的信息管理系統,數據的輸入還是只能一條一條記錄地輸入,輸出的報表格式固定不能滿足用戶的需求。對于信息管理員來說,很多的數據還是存儲在Excel工作簿中,比如:某手機經營店上了一套進銷存管理系統,店里每次進貨都是幾百上千地進,供貨商會給出Excel格式的進貨單,存儲的信息是手機串號、機型、品牌、進價等信息,對于手機經營店來說,希望能夠直接把供貨商給的Excel工作表數據導入系統,如果自己輸入,工作量很大。企業應用軟件最后輸出結果都是報表的形式,他們希望輸出的報表能夠進行二次分析利用。對于開發信息管理系統的程序員來說,報表的顯示和打印是整個開發過程中最麻煩但又必須做的事情,如果我們能把報表輸出結果轉化到Excel文件中,提供給用戶進行二次加工處理,這樣就提高了程序的通用性。本文介紹了ASP技術實現網站數據庫和Excel交互的方式,給出了程序實例。
1 相關技術簡介
①Excel電子表格。Excel是微軟辦公套裝軟件的一個重要的組成部分,它可以進行各種數據的處理、統計分析和輔助決策操作,廣泛地應用于管理、統計財經、金融等眾多領域。大部分人都是用它來進行數據處理,制作電子表格。②ASP和SQL Server數據庫。ASP是一種服務器端腳本編寫環境,可以用來創建和運行動態網頁或Web應用程序。ASP網頁可以包含HTML標記、普通文本、腳本命令以及COM組件等。它可以與數據庫和其它程序進行交互,是一種簡單、方便的編程工具。SQL Server是目前比較流行的關系數據庫管理系統,廣泛應用于網站的后臺數據庫。ASP與SQL Server數據庫的組合是構建商務網站的一種解決方案。
2 ASP實現批量導入Excel工作表
下面以筆者開發的一套手機管理系統為例,介紹如何將Excel文件中保存的手機入庫信息導入到網站后臺數據庫的實現過程。這里以SQL Server作為網站的后臺數據庫。
2.1 將需要導入的Excel文件上傳到網站目錄。上傳的目的主要是為了更方便地讀取Excel文件的內容。筆者開發的思路是使用ASP連接Excel文檔,打開指定的工作表,讀取Excel工作表中的記錄,再寫入到SQL Server數據庫中。上傳文件的實現,這里就不詳細介紹,可以使用組件。假設上傳到網站根目錄的excel_up文件夾。
上傳入庫信息的網頁“pl_phone_lr.asp”的界面如下圖1所示。
■
在開發的時候,我們先向客戶要了一個手機入庫信息電子表格,和客戶一起商量了需要導入的數據的格式,有哪些字段,字段的數據類型,字段大小等。具體格式要求如下圖2所示。
■
其中手機串號為15位數字字符,工作簿文件的命名沒有要求,表的名為固定為“入庫細表”,這個很重要,不能改變,不然后面的程序找不到要讀取的表名。
2.2 設計Excel文檔導入到SQL Server數據庫的程序。
①圖1的界面,瀏覽找到需要上傳的文件后,按下“開始上傳”按鈕提交表單,網頁跳轉到如下圖3所示的網頁(upload.asp)。
■
此網頁文本框中保存了上傳后工作簿的文件名,按下“轉換到數據庫”按鈕,將提交到exceltosql.asp頁面處理。
②exceltosql.asp頁面負責讀取Excel工作表的內容,并寫入SQL Server數據庫。實現過程并不復雜,關鍵是使用ASP連接上Excel工作簿,把工作簿文檔也當做數據庫來訪問,只是連接的代碼不同而已。連接Excel工作簿代碼如下:
<%
source1=server.MapPath("excel_up")&"/"&request("filename") '獲取上傳文件的路徑信息
myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &source1& ";Extended Properties=Excel 8.0" '連接Excel工作簿的字符串
xlsconn.open myConn_Xsl? '打開Excel工作簿連接
sql="select * from [入庫細表$] where 串號<>'' "? '定義讀取入庫細表的sql語句
3 ASP實現導出查詢數據到Excel工作表
對于一個信息管理系統來說,數據導入之后,我們需要查詢各種信息,并且生成報表打印輸出。例如手機管理系統中,手機統計表的格式如圖4所示。
■
ASP的頁面中,查詢出來的數據用表格的形式進行布局,我們可以選定內容復制到Excel表中,這樣比較麻煩。其實,我們在ASP的查詢頁面中,只要加“<%response.ContentType = "application/vnd.ms-excel"%>”這樣一行代碼,就可以把查詢的內容輸出到Excel表中。
4 結語
本文介紹的ASP技術實現Excel數據導入導出數據庫的方法,實現原始數據到網站數據庫的自動導入,避免了大量數據重新輸入的問題,提高了管理人員的工作效率,查詢出來的數據導出到Excel工作表中,用戶可以自己修改報表格式進行輸出打印。
參考文獻:
[1]徐輝.電子商務網站導入Excel數據的設計與實現[J].商場現代化,2008.10.
[2]郭永亮,鄧強.在JSP中實現查詢并導入Excel的通用程序[J].甘肅冶金,2006.3.
[3]李玉梅.動態WEB數據庫應用研究[D].昆明理工大學,2001.
作者簡介:鐘貞魁(1981-),男,江西興國人,江西環境工程職業學院,副教授,研究方向:軟件工程,網站設計。