Designed by Derf !
52 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 (140 871 hits)
    Didier Téléchargez gratuitement et légalement des logiciels Microsoft ! Si, si ;)
    • Visual Studio 2010
    • Office 2010
    • Expression Studio 3
    • SQL Server 2008
    • et d'autres...
    Au fil des news  
    Magazines - Le N°128 de Programmez est disponible
    Magazines - Le N°127 de Programmez est disponible
    Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 6
    Pour continuer dans le même style, je vous propose une suite au précédent article. Rechercher tous ...
    Adobe - Adobe Photoshop.com Mobile pour iPhone 1.1
    JavaScript - Ajouter une page dans vos favorites
    Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 5 -
    Je vous propose cette fois deux astuces. Comment exporter une feuille de style avec l'aide de ...
    SharePoint Personalization Site Links - Les liens personnalisés des MySite SharePoint
    Nous avons vu dans les articles précédents comment agrémenter les pages de recherche afin de ...
    Magazines - Le n°126 de Programmez est disponible
    Outils - Traducteur en ligne automatique pour site web
    Adobe - Adobe Photoshop.com Mobile pour Iphone
    Magazines - Le n°125 de Programmez est disponible
    Adobe - Adobe AIR 2 et Flash Player 10.1version bêta
    Les conférences autour des technologies Microsoft - Liste non exhaustive des grands évènements
    Nous allons essayer de regrouper un grand nombre des évènements autour des technologies Microsoft ...
    Magazines - Le n°124 de Programmez est disponible
    PHP - Forum PHP 2009
    Composants - eFace - XAML en Java
    WPF - Désactiver le bouton de réduction d'une fenêtre
    Magazines - Le n°123 de Programmez est disponible
    Magazines - Le n°122 de Programmez est disponible
    Auditer une ferme SharePoint - Assurer le bon fonctionnement de SharePoint
    Dans le cadre de la bonne gestion de son environnement SharePoint, il est utile de faire un ...
    SQL Server 2008 Report Builder 2.0 - Installation et utilisation de Report Builder 2.0
    Dans le cadre de la création de rapports pour SQL Server Reporting Services 2008, un outil est ...
    Magazines - Le HS N° 1 de Web Design est disponible
    Adobe - Adobe propose en Open Source les frameworks.....
    Outils - EntityBuilder
    CSharp - Sérialisation XML de vos objets
    Magazines - Le n°121 de Programmez est disponible
    Adobe - Adobe annonce MAX 2009 !
    Outils - WhoIs
    [MAJ] Dreamweaver MX + Php + MySql - Les formulaires - partie 3
    Mise à jour du code, par DB 77, affichage du code erreur, dans la page erreur.php, traduction des ...
    PHP - News avec photo - Système de gestion - affichage
    Gestion - Administration - Affichage d'une "News", "Actualité", "Info", ... avec : - mise en forme ...
    Outils - Crypt
    Dreamweaver Php Mysql - Région répétée imbriquée
    Je rebondis, sur un post du forum, pour vous montrer comment obtenir grâce à l'extension Simulated ...
    Magazines - Le n° 120 de Programmez est disponible
    Gérer les bases de contenu SharePoint - Gérer la croissance du volume des données
    Dans le cadre de la gestion quotidienne de ferme SharePoint, il existe une partie qu'il faut ...
    PHP - Le Coach PHP sur Visual Studio
    .NET - Ecrire une application .NET utilisant MySQL
    PHP - Utilisation de PHP dans le monde Microsoft
    Magazines - Le n° 119 de Programmez est disponible
    Adobe - Adobe annonce Photoshop Marketplace
    [MAJ] Tutoriel AJAX simple - En avant vers le WEB2.0
    Mis à jour le 20/04/2009
    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
    v3b © Didier 2003   
     

    Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
     DotNet Project Groupes Utilisateurs Microsoft MVP ASP-magazine TechNet