Dypso Backoffice
Dypso Backoffice

Développement Web


Download Products


DypsWebCapture : Capture Web page as thumbnail image

Documentation
Example
Download
Buy

New release with embed IE and Firefox rendering engine !



DypsFTP : Manage a FTP site from your script

Documentation
Buy


DypsImg2SWF : Protect and save your image as SWF/Flash format!

Documentation
Example
Download
Buy


DypsXLS for ASP: Générateur de fichier Excel

New features!
Documentation
Exemple d'utilisation
Download
Buy


DypsMetaGrabber : get Meta Tag from any web page!

Documentation
Example
Download
Buy


DypsAntiSpam for ASP

Features
Exemple d'utilisation
Download
Buy

DypsoPRank for ASP

Features
Exemple d'utilisation
Download
Buy

Pop3 Checker for ASP

Features
Exemple d'utilisation
Download
Buy

SVG Pie chart Maker for ASP

Features
Exemple d'utilisation
Download

DypsRTF for ASP

Features
Exemple d'utilisation
Download
Buy

What's New ?


Mise en ligne du premier outil gratuit pour générer des fichiers Excel depuis ASP : DypsXLS !
[Lire la suite]

Et un forum Le site se dote d'un forum pour vous permettre de partager toujours plus.
[Rejoigner nous]

Annuaire de scripts ! Un annuaire de scripts et de liens utiles vers des ressources pour le développement
[Lire la suite]

Création d'un outil gratuit pour retrouver ses mails : Pop3 Checker for free !
[Lire la suite]

Création d'un outil gratuit pour générer des graphiques vectoriels à la volée: Free SVG Pie chart Maker !
[Lire la suite]


Imprimer la page

Créer fichier excel avec ADO

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 (2)
  •  Accéder aux fichiers Excel avec A.D.O. :

Une des méthodes les plus efficaces qu'il reste pour générer gratuitement des fichiers Excel est de passer par l'A.D.O.. Autrement dit, un fichier Excel modèle peut être créé et installer sur le serveur, ASP pourra ensuite l'interroger, le modifier comme s'il s'agissait d'une base de données via un accès ADO.
Nous pouvons trouvés plusieurs avantages à cette méthode :

  1. Les fichiers générés ne seront pas stockés sur le disque du serveur et supprimés aussitôt après utilisation.
  2. L'installation de l'application Excel n'est nullement requise sur le serveur. Il y a juste besoin de la bibliothèque ADO au moins 2.5 pour quelle permette l'utilisation d'ADODB.Stream

Dans l'exemple suivant, un fichier excel nommé mon_template.xls est créé en vue de servir de modèle. Afin de pouvoir effectuer les requêtes d'update, une zone a été définie dans le fichier Excel. Pour cela il vous suffit d'ouvrir votre fichier, de sélectionner le nombre de colonnes correspondant au nombre de champ de votre base que vous allez y inclure, et le nombre de lignes adéquats. Ensuite il faut définir la zone nommé : Menu insertion/Nom/Définir... Dans l'exemple suivant la zone a été nommée "xls_colonne".

        
<%
Response.Expires = -2000
Response.Buffer = TRUE

'--- Créé un fichier temporaire
Dim path
path=Server.MapPath(".")

Dim fs, file
Set fs=Server.CreateObject("Scripting.FileSystemObject")
file = path & "\tmp\" & fs.GetTempName
fs.CopyFile path & "\templates\mon_template.xls", file

'--- Modifier le fichier excel
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
               "Data Source=" & file & _
               ";Extended Properties=""Excel 8.0;HDR=NO;"""

Dim oProdConn, oProdRS
Set oProdConn = Server.CreateObject("ADODB.Connection")
Set oProdRS =  Server.CreateObject("ADODB.Recordset")
oProdConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;"& _
		" Data Source=" & _
                path & "\ma_base.mdb"

'Nous récupérons les données contenues dans matable   
'depuis la base Access
oProdRS.Open "SELECT * FROM matable", oProdConn
                   
Dim oRS 
Set oRS = Server.CreateObject("ADODB.Recordset")
oRS.Open "Select * from xls_colonne", oConn, 1, 3 
' Rappel : 1=adOpenKeyset, 3=adLockOptimistic
    


Do Until oProdRS.EOF
    oRS.AddNew
    For i = 0 To 2
        oRS.Fields(i).Value = oProdRS.Fields(i).Value
    Next
    oRS.Update
    oProdRS.MoveNext
Loop
    
oProdRS.Close
Set oProdRS = Nothing
oProdConn.Close
Set oProdConn = Nothing
    
oConn.Close
Set oConn = Nothing

'--- Envoyer le flux de sortie au 
'--- navigateur en définissant le type MIME
Response.ContentType = "application/vnd.ms-excel"

Dim vntStream

Set oMyObject = Server.CreateObject("ADODB.Stream")
oMyObject.Type = 1 'adTypeBinary
oMyObject.Open
oMyObject.LoadFromFile file 
vntStream = oMyObject.Read

Response.BinaryWrite(vntStream)

'--- Suppimer le fichier temporaire
'--- et les références.

oMyObject.Close
fs.DeleteFile file

Set oMyObject = Nothing
Set fs = Nothing

Response.End
%>
        
        

Générer des fichiers excel à la volée avec ADO (2) >> Page suivante


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)