国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

ASP中Access與Excel數(shù)據(jù)轉(zhuǎn)換技巧

2009-03-11 10:10張秀虎

張秀虎

摘 要:隨著網(wǎng)絡(luò)技術(shù)的不斷普及,學校信息化管理過程中不斷引進基于ASP的網(wǎng)絡(luò)管理軟件,在人們習慣使用Excel的情況下,如何將大量的Excel信息直接運用到網(wǎng)絡(luò)管理軟件中,或?qū)⒕W(wǎng)絡(luò)管理軟件中的數(shù)據(jù)導出到Excel中,是本文要討論的問題,筆者通過案例來闡述解決問題的方法,為廣大從事學校信息化工作的同仁提供參考。

關(guān)鍵詞:ASP;Access;Excel;數(shù)據(jù)轉(zhuǎn)換

中圖分類號:TP311.56文獻標識碼:B文章編號:1673-8454(2009)02-0058-03

一、引言

隨著學校信息化進程的不斷推進,基于ASP操作平臺的網(wǎng)絡(luò)管理軟件越來越多,目前大多網(wǎng)絡(luò)管理軟件都不太兼容,用戶經(jīng)常要用比較熟悉的Excel來進行過渡,在學校年級和部門的日常信息管理過程中,也還是使用Excel來管理各種信息,學校與上級管理部門往來的數(shù)據(jù)也大多是Excel形式的,所以給學校信息化管理帶來很大的不便。作為從事學校信息化工作的人員,應編寫基于ASP的日常管理軟件,方便用戶日常信息的管理工作,考慮電子表格Excel數(shù)據(jù)與數(shù)據(jù)庫Access之間的相互銜接的問題,讓軟件更具大眾化。

二、基于ASP的網(wǎng)絡(luò)管理軟件的工作模式

基于ASP的網(wǎng)絡(luò)管理軟件,它的工作模式如圖1所示。

用戶在用戶機上通過IE瀏覽器訪問Web服務(wù)器,進行數(shù)據(jù)管理,數(shù)據(jù)存放于服務(wù)器的后臺數(shù)據(jù)庫中。

三、環(huán)境配置

服務(wù)器端的環(huán)境配置,在教育行業(yè)一般都采用微軟系列的配置,一般有:

(1)Win2000 Server + IIS + Office

(2)Windows XP ++ IIS + Office

本文所采用的技術(shù)都是在第二種配置方法下通過的,對Office的版本沒有特殊要求,考慮到客戶機配置的不確定性和兼容特性,建議服務(wù)器端Office版本不要太高,以防止客戶機下載后無法正確顯示。

服務(wù)器端還必須設(shè)置的一點是COM組件的操作權(quán)限。在命令行鍵入“DCOMCNFG”,則進入DCOM組件配置界面,選擇Microsoft Excel后,右擊選擇屬性命令,將安全標簽中的三個單選項一律選擇自定義,并通過編輯,將Everyone加入所有權(quán)限。保存完畢后重新啟動服務(wù)器。

而服務(wù)器的后臺數(shù)據(jù)庫,目前也大多采用Access或者SQL Server 2000,本文中采用的是Access。

客戶端的環(huán)境配置比較簡單,只要裝有Office2000和IE5.0即可,更高版本也可以。

四、軟件設(shè)計

1.將電子表格Excel中的數(shù)據(jù),導入到后臺數(shù)據(jù)庫Access中

電子表格A.XLS里面存放一個班級的部分數(shù)據(jù)(如表1)。

后臺數(shù)據(jù)庫test.mdb的數(shù)據(jù)表jbxx對應設(shè)計了4個字段name、sex、csny、bj,字段類型均為文本型,字段長度分別為8、2、8、2。

代碼采用ASP與Html語言混合編寫,運用Dreamweaver編寫,文件名為test.ASP。

<% On Error Resume Next

set objApp=CreateObject("Excel.Application")

'創(chuàng)建Excel對象

objApp.DisplayAlerts=false

objApp.Application.Visible=false

strAddr=Server.MapPath(".")

if request.form("action")="input" then

objApp.WorkBooks.Open(strAddr&"a.xls")'打開A.XLS電子表格

set objExcelBook=objApp.ActiveWorkBook

set objExcelSheets=objExcelBook.Worksheets

set objExcelSheet=objExcelBook.Sheets(1)

dim conn,connstr,mdb,sql,namep,sexp,csnyp,bjp,i

mdb="test.mdb"

connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &

Server.MapPath(mdb)

Set Conn=Server.CreateObject("ADODB.Connection")

conn.Open connstr '連接數(shù)據(jù)庫test.mdb

If Err Then

err.Clear

Set Conn = Nothing

Response.Write "數(shù)據(jù)庫連接出錯,請檢查連接字串。"

Response.End

End If

sql="select * from jbxx"

set rs=server.createobject("adodb.recordset")

rs.open sql,conn,1,3 '打開jbxx表

'讀取電子表格中第I行的數(shù)據(jù)

i=2'從第二行開始讀取數(shù)據(jù),直到最后一行數(shù)據(jù)

while trim(objExcelSheet.cells(i,1))<>""

namep=objExcelSheet.Cells(i,1).Value '姓名

sexp=objExcelSheet.Cells(i,2).Value'性別

csnyp=objExcelSheet.Cells(i,3).Value '出生年月

bjp=objExcelSheet.Cells(i,4).Value '班級

rs.addnew 'jbxx表中新建一條記錄,并替換為緩存變量中數(shù)據(jù)

rs("name")=namep

rs("sex")=sexp

rs("csny")=csnyp

rs("bj")=bjp

rs.update

i=i+1

wend

rs.close

set rs=nothing

end if

objApp.Quit

set objApp=Nothing

%>

2.將數(shù)據(jù)庫Access中的數(shù)據(jù),導出到電子表格Excel中

<%

if request.form("action")="output" then

objApp.WorkBooks.add

set objExcelBook=objApp.ActiveWorkBook

set objExcelSheets=objExcelBook.Worksheets

set objExcelSheet=objExcelBook.Sheets(1)

‘建立表頭

objExcelSheet.Cells(1,1).Value="學生基本信息表"

objExcelSheet.range("A1:D1").merge

objExcelSheet.Cells(2,1).Value="姓名"

objExcelSheet.Cells(2,2).Value="性別"

objExcelSheet.Cells(2,3).Value="出生年月"

objExcelSheet.Cells(2,4).Value="班級"

sql="select * from jbxx "

set rs=server.createobject("adodb.recordset")

rs.open sql,conn,1,1

set rs1=conn.execute(sql)

j=3

do while not rs1.eof

objExcelSheet.Cells(j,1).Value=rs1("name")

objExcelSheet.Cells(j,2).Value=rs1("sex")

objExcelSheet.Cells(j,3).Value=rs1("csny")

objExcelSheet.Cells(j,4).Value=rs1("bj")

rs1.movenext

j=j+1

loop

rs1.close

set rs1=nothing

objExcelBook.SaveAs(strAddr&"a.xls") ‘將信息保存在a.xls中

objApp.Quit

set objApp=Nothing

end if

%>

3.操作界面

<form name="form1" method="post" action="test.ASP?action=output">

<input type="submit" name="out_excel" value="導出到excel" >

</form>

<form name="form2" method="post" action="test.ASP?action=input">

<input type="submit" name="input_Access" value="輸入到access" >

</form>

參考文獻:

[1]譚浩強.動態(tài)網(wǎng)頁制作ASP[M]. 北京:電子工業(yè)出版社,2001,4.

[2]焦薦滄.深入體驗ASP.net[M]. 西安:西安電子科技大學出版社,2001,6.

(編輯:隗爽)

阜宁县| 泽库县| 永兴县| 尼勒克县| 普陀区| 怀安县| 常熟市| 井陉县| 定结县| 正阳县| 江城| 通辽市| 海丰县| 和平区| 政和县| 临夏市| 双城市| 鲁山县| 乌苏市| 静乐县| 阿荣旗| 尼勒克县| 故城县| 宁河县| 芮城县| 甘孜| 黎平县| 渝中区| 铜川市| 临邑县| 巍山| 余姚市| 岳池县| 吉木萨尔县| 万宁市| 道真| 深州市| 建宁县| 南宫市| 青阳县| 铜鼓县|