Vous pouvez lire le XLS en ouvrant un jeu d'enregistrements ADO qui tire dans les données de la feuille de calcul.
Cet exemple lit les données à partir d'une feuille de calcul nommée Récapitulatif de facturation qui comprend les noms de colonnes dans la première rangée ..
Public Sub ReadSpreadsheet()
Const cstrFolder As String = "C:\Access\webforums"
Const cstrFile As String = "ExampleFinance.xls"
Dim strConnect As String
Dim strSql As String
Dim cn As Object
Dim rs As Object
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
cstrFolder & Chr(92) & cstrFile & _
";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
cn.Open strConnect
strSql = "SELECT * FROM [Billing Summary$] WHERE SomeField Is Not Null;"
rs.Open strSql, cn
Do While Not rs.EOF
'* do something with each row of data *'
'Debug.Print rs!SomeField '
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
Si cette chaîne de connexion particulière ne fonctionne pas pour vous, regardez d'autres exemples de connexion Excel chaînes à Connection strings for Excel
Modifier: cet exemple fonctionne dans Access. Mais vous avez dit ASP. Je pense que cela fonctionnera là aussi, si vous supprimez les types de données des déclarations variables et constantes: Dim strSql
au lieu de Dim strSql As String
Avez-vous une raison de courir sur chaque ligne? Sinon, il est tout à fait possible d'écrire SQL qui va insérer Excel dans Access dans une seule instruction. BTW ASP Classic ou .Net? – Fionnuala
ASP CLASSIQUE - pouvez-vous me donner explnation pour ce que vous avez dit? –
J'ai ajouté un exemple. – Fionnuala