Interaction avec une base de données Excel


Nous allons décrire comment se connecter à une base de données Excel pour y récupérer les données qui y sont stockées.
Pour la déclaration ODBS, c'est pareil qu'avec ACCESS sauf que vous prennez le driver ODBC Excel.

Pour le paramétrage du fichier Excel, suivez les instructions ci-dessous :

  • Dans le tableau Excel, définissez la zone de donnée et nommez la ( menu
    insertion/nom/définir ) par exemple 'Table1'.
  • Attention la première ligne doit contenir les entêtes de colonne, ce sont ces
    entêtes que nous manipulerons comme dans une base ACCESS
  • Déclaration du DNS
Connection.asp Explications
<html>
<head>
<title>Connection Excel </title>
</head>
<body>
En tête HTML
<%Set OBJdbConnection = Server.CreateObject("ADODB.Connection")

OBJdbConnection.Open "test"

SQLQuery = "SELECT * FROM Table1"

Set RS = OBJdbConnection.Execute(SQLQuery)%>

Déclaration d'une variable OBJdbConnection qui connecte la base

Reprise de la variable OBJdbConnection suivi de .Open qui "ouvre" la base de données "test"

Déclaration d'une variable SQLQuery qui fait un filtre sur la base : "SELECT ( selectionne) * (tout) FROM (de la table) Table1"

Déclaration d'une variable RS qui correspond à l'appel complet à la base

<div align="center"><center>
<table border="1" cellpadding="0" cellspacing="0" width="300">
Déclaration du tableau
<tr> Saut de ligne dans un tableau
<td align="center">Nom</td>

<td align="center">Prénom</td>

<td align="center">Age</td>

Cellule d'en tête du tableau
</tr> Saut de ligne dans un tableau
<%Do While Not RS.EOF%> Début du test : DO While.... Loop : Répète un bloc d'instructions tant qu'une condition est vrai.
Ici nous allons répéter l'instruction NOT RS.EOF qui veut dire : tant que nous ne sommes pas en fin de fichier (End Of File) on boucle.
<tr> Saut de ligne dans un tableau
<td><%=rs("Nom")%></td>
<td><%=rs("Prenom")%></td>
<td><%=rs("Age")%></td>
Exécution de la variable RS qui appelle la cellule de la colonne Nom
</tr> Saut de ligne dans un tableau
<%RS.MoveNext
Loop
%>
Exécution de la varaible RS avec .MoveNext qui correspond à un passage à la ligne dans la base de données
</table>
</center></div>
<
/body>
</html>
Fin de déclaration du tableau

Fin de page

Téléchargez le code (la base est inclue)

  • Vous noterez que cette explication est très similaire de l'intéraction avec une base de données ACCESS. Ceci est voulue pour vous montrer la souplesse d'utilisation des différents supports.
  • Si vous désidrez effectuez une connection DNSLes (sans untilisaton d'un DNS) remplacez la ligne :
  • OBJdbConnection.Open "test"
    par
    OBJdbConnection.Open "Driver={Microsoft Excel Driver (*.xls)}; DBQ=" & Server.MapPath("/tutorial/Excel") & "\base.xls;"
    pour une base nommé "base.xls" présente dans le même répertoire "tutorial/excel" par rapport à la racine de votre site.
  • ATTENTION : Une connection Excel ne peut-être utilisé au même titre qu'une bse ACCESS, faites très attention à la montée en charge d'accès au fichier !!!!

[Précédent] [Retour] [Suite]