Asp.net - créé un fichier excel en dynamique (sous forme de flux) avec asp.net

Soyez le premier à donner votre avis sur cette source.

Snippet vu 24 527 fois - Téléchargée 34 fois

Contenu du snippet

L'utilisation de fichier Excel est générale dans le monde professionnel et les export Excel sont donc très courantes dans ces applications.
Voila donc un exemple pour générer un fichier excel à la volée sous ASP.NET (VB.NET).

Source / Exemple :


Dim lCnx As New accConnexionSQL(LaChaineDeConnexion)
' Basé sur la classe de connexion MySQL précédement donnée

 lCnx.Open()
 Try
   mTable = ChargeListe(lCnx)
   Dim MaLigne As DataRow
   Dim Temp As String
   Dim i As Integer = 0

   Temp = "<TABLE BORDER=1><TR>"
   Temp &= "<TD><B>Nom Prenom</B></TD>"
   Temp &= "<TD><B>Service</B></TD>"
   Temp &= "<TD><B>Localite</B></TD>"
   Temp &= "<TD><B>Telephone</B></TD>"
   Temp &= "<TD><B>Poste</B></TD>"
   Temp &= "<TD><B>Email</B></TD>"
   Temp &= "</TR>"
   For Each MaLigne In mTable.Rows
     Temp &= "<TR>"
     Temp &= "<TD>" & MaLigne("NomPrenom") & "</TD>"
     Temp &= "<TD>" & MaLigne("Service") & "</TD>"
     Temp &= "<TD>" & MaLigne("Localite") & "</TD>"
     Temp &= "<TD>" & MaLigne("Telephone") & "</TD>"
     Temp &= "<TD>" & MaLigne("Poste") & "</TD>"
     Temp &= "<TD>" & MaLigne("Email") & "</TD>"
     Temp &= "</TR>"
   Next
   Temp &= "</TABLE>"
   Temp = ZfStringUtil.SupprimeAccent(Temp)
   
   HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"
   HttpContext.Current.Response.Write(Temp)
 Finally
   lCnx.Close()
 End Try

Conclusion :


A noté que les accents et caractères spéciaux posent problème, donc le remplacement est a prévoir de ces caractères (d'ou l'utilisation de ZfStringUtil.SupprimeAccent)
C'est un des différents modes de génération de fichier Excel.

F___

A voir également

Ajouter un commentaire

Commentaires

bleroy
Messages postés
2
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
14 novembre 2002
-
Attention! L'utilisation de concaténations de chaînes pour monter le tableau devient vite catastrophique... Il faut absolument dans ce genre de cas utiliser un StringBuilder, ou mieux, surcharger Render et utiliser les méthodes de génération d'HTML spécifiques, tellement plus propres. On ne le répètera jamais assez, les chaînes de caractères sont immuables et de nombreuses concaténations sont toujours catastrophiques pour les performances.
sev622
Messages postés
62
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
12 septembre 2005
-
bonne méthode, facile à mettre en place, mais est-il possible d'insérer une image dans le flux ?
cs_fabrice69
Messages postés
1766
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
4 -
On insère pas une image mais ajoute une URL pour cette image dans le flux HTML.
Cordialement
Romelard Fabrice
dimkhas
Messages postés
14
Date d'inscription
mercredi 30 novembre 2005
Statut
Membre
Dernière intervention
15 février 2006
-
Bonjour
merçi beaucoup de votre, trés simple et facile à comprendre. Mais cependant quand je l'ai intégré dans mon programme pour générer le fichier, soit il me propose directement le téléchargement ou bien il m'affiche un message d'erreur m'indiquant que le contenu ne peut pas être lu.
Pouvez m'aider et me dire à qo=uoi est dû cette erreur.
merçi
cs_fabrice69
Messages postés
1766
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
4 -
Bonsoir,
Il faut que Excel soit installé sur votre poste
Cordialement
Romelard Fabrice

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.