Techniques
Cette section permet de regrouper un ensemble de techniques ou de scripts qui ont l'originalité d'arriver à résoudre une difficulté avec le moindre effort ou qui sont particulièrement efficaces...
Techniques / Excel / Générer des fichiers excel avec ADO (1)
- Accéder aux fichiers Excel avec A.D.O. :
Conventions sur les noms de tables :
Il existe plusieurs manières de référencer une table ou une collection de cellules dans un fichier Excel :
-
Vous pouvez référencer un classeur en faisant suivre sont nom par le symbole dollar ($). Par exemple [feuil1$] ou [Mon classeur$].
Une table référencée de cette manière consistera en l'ensemble des cellules de la feuille Excel :
oRS.Open "Select * from [Feuil1$]", oConn, adOpenStatic
-
Il est aussi possible comme dans l'exemple précédent d'avoir recours à une zone nommée (Sélection des cellules puis menu Insertion/Nom/Définir) ce qui vous permet d'effectuer une requête de ce type :
oRS.Open "Select * from Table1", oConn, adOpenStatic
-
Enfin il est aussi possible d'utiliser une certaine rangée de lignes ou colonnes en précissant leur adresse :
oRS.Open "Select * from [Feuil1$A1:B10]", oConn, adOpenStatic
La chaîne de connexion :
Le Moteur Jet peut être utilisé pour accéder les données de base stockées sous forme de fichiers grace aux drivers ISAM. Pour ouvrir ces formats grace au provideur Microsoft Jet 4.0 OLE DB, il suffit de préciser le type de base dans les propriétés étendues de la chaîne de connexion (Extended Properties). Ce driver permet d'ouvrir les formats suivant de fichiers Excel :
- Excel 3.0
- Excel 4.0
- Excel 5.0
- Excel 8.0
La première ligne d'un fichier Excel est considérée comme étant celle qui contient le nom des champs de la table. Mais si éventuellement comme dans l'exemple au dessus la première ligne ne contient pas ceux-ci, il vous suffit de préciser l'attribut : HDR=NO dans les propriétés étendues (Extended Properties) de votre chaîne de connexion , afin d'indiquer qu'il n'y a pas de header par défaut. Si la première ligne ne contient pas de header le provider OLE DB créera automatiquement des noms de champs où F1 sera le premier champs, F2 le suivant et ainsi de suite...
Les types de données
A la différence des bases traditionnelles, il n'y a pas véritablement de moyen de spécifier le type de chacun de vos champs. Le provider OLE DB va donc se livrer à une détermination des types en visualisant le type du contenu des premières lignes de chaque champs. Par défaut, il est prévu pour scanner les 8 premières lignes. Mais ils vous est possibles de modifier ce nombre en fixant pour l'attribut MAXSCANROWS dans les propriétés étendues (Extended Properties) de votre chaîne de connexion une valeur pouvant varier de 1 à 16.
Page précédente <<Générer des fichiers excel à la volée avec ADO (1)
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'dypso'@'172.20.245.55' (using password: YES) in /mnt/110/sdb/3/1/dypso/include/tools.php on line 106
Impossible de se connecter : Access denied for user 'dypso'@'172.20.245.55' (using password: YES)