更新 Excel 工作表(在经典 ASP/Vbscript 中)
Posted
技术标签:
【中文标题】更新 Excel 工作表(在经典 ASP/Vbscript 中)【英文标题】:Update Excel Sheet (in Classic ASP/Vbscript) 【发布时间】:2012-03-08 16:20:16 【问题描述】:我尝试在 Classic-ASP 中搜索可更新 Excel (XLS) 文件的代码,但无法正常工作。
这是我所拥有的:
<!--#include file="../adovbs.inc"-->
<%
' Open and Update and then Close The XLS File
Dim objConn
set objConn = Server.CreateObject("ADODB.Connection")
Dim FLConnect
Dim strSQLexcel
' Create the connection string.
FLConnect = "Provider=Microsoft.Jet.OLEDB.4.0 Data Source=" & Server.MapPath("TEST.xls") & "Extended Properties='Excel 8.0;HDR=No'"
' Create the SQL statement.
strSQLexcel= "UPDATE [Sheet1$A1:A1] SET F1='TestValue1'"
set objConn = Server.CreateObject("ADODB.Recordset")
'Set objConn = New ADODB.Connection
' Create and open the Connection object.
objConn.Open FLConnect
' Execute the insert statement.
objConn.Execute strSQLexcel
' Close and destroy the Connection object.
objConn.Close
%>
但我不断收到错误消息:“连接不能用于执行此操作。在此上下文中它已关闭或无效。”
非常感谢...
【问题讨论】:
用缺失的试试看; - ...xls") & "Ext.. - ...xls") & ";Ext.. 【参考方案1】:你的连接字符串不对。
你有:
Provider=Microsoft.Jet.OLEDB.4.0 Data Source="
& Server.MapPath("TEST.xls") & "Extended Properties='Excel 8.0;HDR=No'"
您在 4.0 之后和 Extended 之前缺少一个分号
Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
& Server.MapPath("TEST.xls") & ";Extended Properties='Excel 8.0;HDR=No'"
见http://connectionstrings.com
【讨论】:
我把它改成了:FLConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("TEST.xls") & "Extended Properties='Excel 8.0; HDR=No'" 但还是同样的错误! :-( 感谢网站,我现在就去看看。【参考方案2】:这个连接字符串最适合我:-
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myExcel.xlsm;Extended Properties='Excel 12.0 Macro;HDR=YES';
【讨论】:
以上是关于更新 Excel 工作表(在经典 ASP/Vbscript 中)的主要内容,如果未能解决你的问题,请参考以下文章
用另一个 Excel 工作表单元格值动态更新一个 Excel 工作表的单元格值