1

我正在使用我在网上找到的这段代码读取一个 excel 文件:

<% Option Explicit %>
<html>
<body>
<%
Dim objConn, objRS, strSQL
Dim x, curValue
Dim valuesArray()

strSQL = "SELECT * FROM A1:A200"

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DRIVER={Microsoft Excel Driver (*.xls)}; IMEX=1; HDR=NO; "&_
    "Excel 8.0; DBQ=" & Server.MapPath("myExcel.xls") & "; "

Set objRS=objConn.Execute(strSQL)

Response.Write("<table border=""1"">")
Response.Write("<tr>")

For x=0 To objRS.Fields.Count-1
   Response.Write("<th>" & objRS.Fields(x).Name & "</th>")
Next

Response.Write("</tr>")

Do Until objRS.EOF

    Response.Write("<tr>")

    For x=0 To objRS.Fields.Count-1
        curValue = objRS.Fields(x).Value
        If IsNull(curValue) Then
            curValue="N/A"
        End If
        curValue = CStr(curValue)
        valuesArray(x) = curValue
        Response.Write("<td>" & valuesArray(x) & "</td>")
    Next
    Response.Write("</tr>")
    objRS.MoveNext

Loop

objRS.Close
Response.Write("</table>")
objConn.Close

Set objRS=Nothing
Set objConn=Nothing
%>
</body>
</html>

在第一次访问该页面时,excel 文件被正确读取。但如果我刷新页面,我会收到此错误:

提供程序错误“80004005”

未指定的错误

你会碰巧知道是什么原因造成的,我该如何解决?

4

1 回答 1

0

大多数时候这个错误是因为你刷新太快了;如果您要等待 10 秒左右,它不应该给您该错误。尽管 ASP/ADO 应用程序支持多用户访问,但 Excel 电子表格不支持。因此,这种查询和更新信息的方法不支持多用户并发访问。

请参阅http://support.microsoft.com/kb/q195951/

于 2012-06-26T15:12:56.947 回答