Designed by Vince El Roubio !
86 en ligne   Boutique | Sites | Bar | Forum | PhpBB | Actu | Glossaire | Codes | Tips | Liens | Livres | Lettre  


 Recherche

 NewsLetter





   

ASP et Excel

Créer et envoyer un fichier Excel





Dom, le webmaster du site Deltaplane en France, propose à ses visiteurs de recevoir par E-mail le classement sélectif national au format Text ou Excel... les informations sont issues d'une base de données et le résultat de la requête de tri est stocké dans un fichier sur le serveur qui est ensuite envoyé en Pièces Jointes au demandeur via ASPMail.

Pour être compatible Excel le fichier doit, outre son extension (.slk), avoir la structure suivante :

ID;PWXL;N;E    Début du codage
C;Y1;X1;K"Libellé"    les guillemets seront codés avec chr(34)
C;Y1;X2;Knombre
... etc
E    Fin du codage


Pour voir fonctionner le script ci-dessous, sympathiquement envoyé à notre rédaction, allez sur le site Deltaplane en France, menu Comp. Nationales


classement_excel.asp 
<% ' Script de Dom - webmaster@domchauvet.com
       ' actif sur http://www.domchauvet.com/delta

Action = Left(UCase(Request("Action")),5)
If Action = "RECEV" Then ' Arrivée du formulaire

   ' 1. Mémorisation de l'adresse E-mail dans un cookie

   Response.Cookies("deltamail")= Request("Mail")
   Response.Cookies("deltamail").Expires = Date+365
   Response.Cookies("deltamail").Domain="domchauvet.com"
   Response.Cookies("deltamail").Path = "/delta"

   ' 2. Tri de la Base de Données

   Set OBJdbConnection = Server.CreateObject("ADODB.Connection") 
   OBJdbConnection.Open "nom_de_la_base"
   SQLQuery = "SELECT nom,prénom,total,rang FROM nom_de_la_table " _
      & "WHERE total > 0 ORDER BY total DESC "
   Set RS = OBJdbConnection.Execute(SQLQuery)

   ' 3. Création du fichier

   Set FSO = Server.CreateObject("Scripting.FileSystemObject")
   dim dir : dir = Server.MapPath("/images")
   set inF = FSO.CreateTextFile(dir & "\" & Request("type"))

   ' Fichier au format Excel (.slk)
   if right(Request("type"),3)="slk" then
      inF.writeLine"ID;PWXL;N;E" ' Début du codage excel
      ' chr (34) remplace les guillements à la suite de l'instruction
      inF.writeLine"C;Y1;X1;K"&chr(34)&("PLACE")&chr(34) 
      inF.writeLine"C;Y1;X2;K"&chr(34)&("NOM")&chr(34)
      inF.writeLine"C;Y1;X3;K"&chr(34)&("PRENOM")&chr(34)
      inF.writeLine"C;Y1;X4;K"&chr(34)&("POINTS")&chr(34)
      i=2 ' Affichage à partir de la ligne 2
      While Not rs.eof
         inF.writeLine"C;Y"&(""&i&";X1;K")&(rs("Rang"))
         inF.writeLine"C;Y"&(""&i&";X2;K")&chr(34)&(rs("Nom"))&chr(34)
         inF.writeLine"C;Y"&(""&i&";X3;K")&chr(34)&(rs("Prénom"))&chr(34)
         inF.writeLine"C;Y"&(""&i&";X4;K")&(rs("TOTAL"))
         i=i+1
         Rs.MoveNext
      wend
      inF2.writeLine"E" ' Fin du codage excel

   ' ou fichier au format texte (.txt)
   else 
      inF.writeLine("Rang"&";"&"Nom"&";"&"Prénom"&";"&"Points")
      While Not rs.eof
         inF.writeLine(rs("Rang")&";"&rs("Nom")&";"&rs("Prénom")&";"&rs("TOTAL")&";")
         Rs.MoveNext
      wend
   end if
   inF.close

   ' 4. Fermeture de la connexion à la BD

   RS.close : set RS = nothing
   OBJdbConnection.close : set OBJdbConnection = nothing

   ' 5. Envoi du fichier par ASPMail

   Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
   Mailer.FromName   = "DomChauvet"
   Mailer.FromAddress= "webmaster@domchauvet.com"
   Mailer.RemoteHost = "SMTP.domchauvet.com"
   Mailer.AddRecipient Request("Mail"), Request("Mail")
   Mailer.AddAttachment dir&"\"&Request("type")
   Mailer.Organization = "Site Deltaplane"
   Mailer.Subject = "Le classement des sélectives"
   strBody = "Voici le classement des sélectives à ce jour." & VbCrLf
   strBody = strBody &  "Nom du fichier joint "&Request("type")&"." & VbCrLf
   strBody = strBody &  "Amicalement. DomChauvet" & VbCrLf
   Mailer.BodyText = strBody
   if Mailer.SendMail then
      msg="Félicitations : Le classement est dans votre boite aux lettres" _
         & "<br>Fichier : "&Request("type")
   else
      msg="Problème d'envoi<br>"&Mailer.Response
   end if

End If %>


<html><head><title>Classement national</title>
</head><body>
<%if msg="" then%>
   <p align="center"><b>Obtenir tout de suite ce <u>classement complet</u>
   dans un fichier &quot;Excel&quot; ou &quot;texte&quot;</b></p>

   <form method="POST" action="classement_excel.asp">
      <table border="0" cellspacing="1" width="500">
         <tr>
            <td>Recevez ce fichier en indiquant simplement</td>
         </tr><tr>
            <td><select size="1" name="type">
               <option value="classement_excel.slk">excel</option>
               <option value="classement_texte.txt">texte</option>
            </select>  le type de fichier choisi</td>
         </tr><tr>
            <td><input type="text" name="Mail" size="22"
               value="<%=Request.Cookies("deltamail")%>"> votre e-mail</td>
         </tr><tr>
            <td><input type="submit" value="Recevoir" name="Action">
               un seul clic suffit ...</td>
         </tr>
      </table>
   </form>

   <p>La version excel (fichier *.slk) est compatible avec Excel</p>
   <p>La version texte (fichier *.txt) est compatible avec Word, Works, Word Pad etc....</p>

<%else%>
   <br>
    <p align="center"><b><%=msg%></b></p>
<%end if%>

</body></html>


Merci Dom !

A lire également sur le sujet ASP-Excel

Connexion ASP à une feuille Excel - L'exemple de Microsoft

Pour pouvoir écrire dans ce forum, identifiez-vous !

 Lire  23/07/02 11:53 de youyou
Bonjour, j'utilise le code si de ssus pour créer un ...
  • 23/07/02 15:33 de bill clinton il vaut mieux utiliser le forma...
  • 24/07/02 06:57 de youyou est ce que vous pouvez me donner un exem...
  • 24/07/02 09:05 de bill clinton ouvres excel, créer un nouveau ...
  • 24/07/02 09:38 de youyou merci bill pour ton aide. moi ce qui m'i...
  • 24/07/02 10:13 de bill clinton lis ca, ca peut t'interresser :...
  • 14/11/02 08:17 de Chrigou La réponse de bill clinton du 23/07/20...
  • 15/11/02 18:17 de bilClinton en fait moi je l'utilise dans le s...
  • 19/11/02 10:21 de Chrigou Voici LE script qui exporte dans un fi...
  •   v1.3p © ASP-PHP.net 2002  

    Dom le 08/05/2004 (134 564 hits)
    Didier Réservez votre place gratuite pour les Microsoft TechDays 2009 !!!
    Un serveur dédié Dedibox avec la licence Windows Server 2008 gratuite !!!

    MSDN fête ses 10 ans ! Gagnez 1 Nabaztag, 1 montre binaire, 1 console Xbox, 1 ordinateur ultra-portable EeePC, 1 HTC Diamond et bien d’autres cadeaux… !!!
    Au fil des news  
    [MAJ] [PHP] Un calendrier très complet -
    Remplacement de balises pour le PHP5 et modifications du script pour l'affichage des jours afin ...
    Magazines - Le n°113 de Programmez est disponible
    PHP - Compteur de visites (hit) paramétrable
    Amélioration du Search MOSS : Recherche avancée - Modification de la page de recherche avancée
    Dans la série des optimisations potentielles sur le moteur de recherche de MOSS, nous verrons cette ...
    Dreamweaver CS3 + Php + Mysql - Ajout-Modif-Suppression. Les fondamentaux Part-1
    Suite à de nombreuses questions sur le forum, je pense que ce sujet sur les comportements d'ajout, ...
    SharePoint et Silverlight - Premiers pas - Lecture de données SharePoint et intégration
    Silverlight et SharePoint sont deux technologies récentes et connaissant un essor significant. En ...
    Développement d'applications SharePoint - depuis une Workstation XP ou Vista
    Lorsque que l'on développe pour SharePoint, on se retrouve dans un dilemme auquel nous avons tous ...
    JavaScript - sudoky - jeux du sudoku en javascript
    Adobe - Creative Suite 4 en Français
    PHP - La 8ème édition du Forum PHP est lancée !
    Magazines - Le n°112 de Programmez est disponible
    PHP - Interpreteur de commande SQL en PHP
    Listes liées (dépendantes) : avec ou sans XMLHTTPR - Les délires «Ajax or not Ajax»
    Comme toujours, c'est à la suite d'un coup de pouce que je me suis décidé à faire ce tuto. Merci à ...
    Amélioration du Search MOSS : Les scopes - Quelques possibilités d'amélioration du Search
    Lorsqu'on installe le moteur de recherche de MOSS et qu'on le configure basiquement, on veut ...
    SharePoint - Lister les templates utilisés - Identifier les définitions utilisées par vos sites
    Un site SharePoint est créé à partir d'un modèle ou définition de site. Mais comment savoir après ...
    PowerShell - Profile avec la participation de mon ami Tigrou :)
    Adobe - Lancement de la CS4, tous à vos agendas !
    [MAJ] PHP - Fonctions de redimensionnement d'images - BD : redimensionner image + picto après upload
    Ajout de FONCTIONS de redimensionnement.
    PHP - Afficher une date mysql yyyy-mm-dd en dd-mm-yyyy
    PHP - Tchat PHP V2.1 sans base de donnée
    SharePoint et les statistiques d'utilisation - Comment obtenir des statistiques depuis SharePoint
    La mise en place de ferme SharePoint doit s'accompagner d'une notion de gouvernance. Cette notion ...
    Adobe - Nouvelles annonces Adobe sur le salon IBC 2008
    PHP - PHP TV emission 2 (septembre 2008)
    PHP - PDO ADMIN
    [MAJ] Inscription contrôlée à une NewsLetter ou Service - Abonnement avec confirmation et désabonnement
    Correction d'un point-virgule manquant (merci de m'avoir obligé à chercher JPierre) dans le module ...
    PHP - Premier lundi d'une semaine et d'une année
    JavaScript - Premier lundi d'une semaine et d'une année
    ASP - Premier lundi d'une semaine et d'une année
    Alphabet Radio et Code Morse - Alpha Zulu appelle Tango Charlie !
    Encoder-Décoder en "Alphabet Radio" ... "Alpha Zulu appelle Tango Charlie !" ou en Code Morse ... ...
    Filtrer les modèles de site SharePoint - Filtrer l'affichage des modèles de site SharePoint
    Je vous propose de découvrir à l'aide de cet article quels mécanismes peuvent vous permettent de ...
    ASP/PHP - Méthode de cryptage - par table de correspondance
    (ASP/PHP) Une méthode de cryptage de données par l'utilisation d'une "table de correspondance ...
    PHP - Listes liées (1 table) - version2
    JavaScript - Rendre Visible ou Invisible des éléments d'un form
    PHP - Listes liées (1 table) - version1
    JavaScript - Intercepter le click sur vidéo WMP ou flash SWF
    Jeux de l'été (et de 5) - Un jeu de Motus (mots de 8 lettres)
    C'est reparti pour un tour... Comme je venais de proposer un jeu de Mastermind, je me suis dit que, ...
    PowerShell - Extraire toutes les collections SharePoint en CSV
    PowerShell - Lister les collections pour une WebApp SharePoint
    PowerShell - Lister les utilisateurs d'un site SharePoint
    PowerShell - Connaître le code version de votre SharePoint
    Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
    Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
      Scripts : Scripting | ASP-PHP | ASP.net | Divers
      Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
    v3 © Didier 2003   
     

    Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
     Wygwam TechNet CodePPC Codes Sources DotNet Project The Inquirer FR El Roubio MVP ASP-magazine Groupes Utilisateurs Microsoft