Próbowałem wyszukać kod, który zaktualizowałby plik Excel (XLS) w Classic-ASP, ale nie mogę go uruchomić.

Oto, co mam:

<!--#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

%>

Ale ciągle otrzymuję komunikat o błędzie: „Połączenie nie może być użyte do wykonania tej operacji. W tym kontekście jest ono zamknięte lub nieprawidłowe”.

Dziękuję bardzo...

0
compcobalt 8 marzec 2012, 20:20

2 odpowiedzi

Najlepsza odpowiedź

Twoje parametry połączenia są nieprawidłowe.

Ty masz:

Provider=Microsoft.Jet.OLEDB.4.0 Data Source=" 
& Server.MapPath("TEST.xls") & "Extended Properties='Excel 8.0;HDR=No'"

Brakuje średnika po wersji 4.0 i przed Rozszerzonym

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 
& Server.MapPath("TEST.xls") & ";Extended Properties='Excel 8.0;HDR=No'"

Zobacz http://connectionstrings.com

3
Fionnuala 8 marzec 2012, 20:40

Ten ciąg połączenia działał najlepiej dla mnie:-

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myExcel.xlsm;Extended Properties='Excel 12.0 Macro;HDR=YES';
1
Paul 16 styczeń 2014, 17:05