我有一个经典的ASP Web应用程序,用于更新Excel电子表格中的表格。
我使用以下内容连接到Excel文件
Set rows = CreateObject("ADODB.Recordset")
objConnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & Server.MapPath("data.xlsx") & ";" & _
"Extended Properties=" & Chr(34) & "Excel 12.0 Xml;HDR=Yes" & Chr(34) & ";"
这是我正在执行的示例查询
query = "UPDATE [Sheet1$] SET [STATUS] = 'unclaimed', [CLAIMER] = '' ,[SDATE] = '"
& DATE & "' WHERE [JUR] = '" & in_jur & "' AND [WC] = " & in_wc
objConnection.Execute query,numRows,adExecuteNoRecords
当用户点击调用发送in_jur和in_wc值的javascript函数的按钮时,上述查询将在process.asp页面中执行
function sendForProcessing() {
somejur = //use the document.getElementByID to get selected jur
somewc = //use the document.getElementByID to get selected wc
window.location = process.asp?in_jur=somejur&in_wc=somewc
}
应用程序正确更新工作表一段时间(我计算它工作的次数。第一次测试:10次第二次测试:16次只是变化)然后它停止工作。 我没有在objConnection.Execute中收到错误消息。
当我打印出numRows时,它会打印1.
有更好的方法来更新Excel中的行吗?