ASP讀取EXCEL數據



把EXCEL當成數據庫來讀要有很嚴格的格式限制,還會出現很多問題...
'===================
'Ⅰ)將Excel97或Excel2000生成的XLS文件(book)看成一個數據庫,其中的每一個工作表(sheet)看成數據庫表
'Ⅱ)ADO假設Excel中的第一行爲字段名.所以你定義的範圍中必須要包括第一行的內容
'Ⅲ)Excel中的行標題(即字段名)不能夠包含數字. Excel的驅動在遇到這種問題時就會出錯的。例如你的行標題名爲"F1"
'Ⅳ)如果Excel表中某一列同時包含了文本和數字的話,那麼Excel的ODBC驅動將不能夠正常處理這一行的數據類型,你必須要保證該列的數據類型一致(加入預設符號強制轉成文本,後臺再作處理)
'Ⅴ)日期型時,整列不能有空格,否則讀不出
'============================攻略:===============
1、通過filefield獲得文件
2、驗證.xls文件
3、建立連接
'建立excel連接
set excelconn=server.createobject("adodb.connection")
strAddr = Server.MapPath(uploadpath&filename)
'輸出源文件名 Response.Write "源文件:"&strAddr&""
excelconn.open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & strAddr
     '建立excel記錄集
set excelrs=server.createobject("adodb.recordset")
sql="select * from [Sheet1$]" excelrs.open sql,excelconn,1,1 ............   excelrs.close()
     set excelrs=nothing
     excelconn.Close()
set excelconn=nothing

================================
<%Option Explicit%>
<html>
<head>
<title>操縱Excel</title>
</head>
<body>
<h2 align="center">顯示Excel文件示例</h2>
<table border="1" width="90%" align="center">
<tr align="center" bgcolor="#E6E6E6">
<td>學號</td><td>姓名</td><td>數學</td><td>語文</td><td>英語</td><td>總分</td>
</tr>
<%
'建立Connection對象
Dim db,rs,strSql
Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Excel Driver (*.xls)};Dbq=" & Server.MapPath("Mark.xls")
'打開記錄集,表名一定要以"[表名$]"的格式
strSql="Select * From [Sheet1$]"
Set rs=db.Execute(strSql)
'循環讀取所有行
Do While Not rs.EOF
Response.Write "<tr align='center'>"
Response.Write "<td>" & rs("學號") & "</td>"
Response.Write "<td>" & rs("姓名") & "</td>"
Response.Write "<td>" & rs("數學") & "</td>"
Response.Write "<td>" & rs("語文") & "</td>"
Response.Write "<td>" & rs("英語") & "</td>"
Response.Write "<td>" & rs("總分") & "</td>"
Response.Write "</tr>"
rs.MoveNext
Loop

'關閉對象
rs.Close
Set rs=nothing
db.Close
Set db=Nothing
%>
</table>
</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章