在日常的工作中,經常會遇到將 Excel 表格數據導入到 ASP 網站的需求。ASP 提供了許多方法來實現這一功能,如使用 COM 組件、使用第三方庫等。本文將通過案例介紹如何使用 ASP 導入 Excel 數據并實現相應功能。
案例一:導入 Excel 數據到數據庫
假設我們有一個 ASP 網站,需要導入用戶提供的 Excel 數據到數據庫中。我們的數據表包含有 id、名稱、年齡和性別四個字段。為了實現這一功能,我們可以使用以下代碼:
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Dim connStr, conn, cmd, rs
Dim objExcel, objWorkbook, objSheet
' 連接數據庫
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open connStr
' 打開 Excel 文件
Set objExcel = Server.CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open(Server.MapPath(Request.Form("file")))
' 獲取第一個工作表
Set objSheet = objWorkbook.Sheets(1)
' 遍歷 Excel 表格并插入數據庫
For i = 2 To objSheet.UsedRange.Rows.Count
cmdText = "INSERT INTO UserTable (id, name, age, gender) VALUES ('" & objSheet.Cells(i, 1).Value & "', '" & objSheet.Cells(i, 2).Value & "', " & objSheet.Cells(i, 3).Value & ", '" & objSheet.Cells(i, 4).Value & "')"
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = conn
cmd.CommandText = cmdText
cmd.Execute
Next
' 關閉連接和 Excel 對象
conn.Close
objWorkbook.Close False
objExcel.Quit
Set objSheet = Nothing
Set objWorkbook = Nothing
Set objExcel = Nothing
Response.Write "導入成功!"
End If
%>
在上述代碼中,我們首先使用表單元素允許用戶上傳 Excel 文件。然后,當用戶提交表單時,我們打開 Excel 文件并獲取第一個工作表對象。接下來,我們遍歷該工作表中的數據,并通過 SQL 語句將數據插入到數據庫中。最后,關閉連接和 Excel 對象,并輸出導入成功的信息。
案例二:導入 Excel 數據并顯示
假設我們的 ASP 網站需要導入 Excel 數據并將其顯示在網頁上。我們的數據表包含有員工編號、姓名和部門三個字段。為了實現這一功能,我們可以使用以下代碼:
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Dim objExcel, objWorkbook, objSheet
' 打開 Excel 文件
Set objExcel = Server.CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open(Server.MapPath(Request.Form("file")))
' 獲取第一個工作表
Set objSheet = objWorkbook.Sheets(1)
' 輸出 Excel 表格
Response.Write "<table border='1'>"
For i = 1 To objSheet.UsedRange.Rows.Count
Response.Write "<tr>"
Response.Write "<td>" & objSheet.Cells(i, 1).Value & "</td>"
Response.Write "<td>" & objSheet.Cells(i, 2).Value & "</td>"
Response.Write "<td>" & objSheet.Cells(i, 3).Value & "</td>"
Response.Write "</tr>"
Next
Response.Write "</table>"
' 關閉 Excel 對象
objWorkbook.Close False
objExcel.Quit
Set objSheet = Nothing
Set objWorkbook = Nothing
Set objExcel = Nothing
End If
%>
在上述代碼中,我們首先使用表單元素允許用戶上傳 Excel 文件。然后,當用戶提交表單時,我們打開 Excel 文件并獲取第一個工作表對象。接下來,我們遍歷該工作表中的數據,并通過表格元素將數據輸出到網頁上。最后,關閉 Excel 對象。
通過上述案例,我們可以看到使用 ASP 導入 Excel 數據是非常簡單的。按照不同的需求,我們可以靈活運用 ASP 提供的各種方法來實現我們所需要的功能。