IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Generation et Export de fichier excel


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 37
    Par défaut Generation et Export de fichier excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
        Dim CheminFichier As String = ""
            Dim m_sConn1 As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                        "Data Source=" & CheminFichier & " " & _
                        ";Extended Properties=""Excel 8.0;HDR=YES"""
            Dim conn1 As New System.Data.OleDb.OleDbConnection(m_sConn1)
            Dim objInfosListe As New BObject.oListeParam
            Dim dttRequete As DataTable = objInfosListe.mDttRequeteSql(sql)
            Response.Clear()
            Response.Buffer = True
            Response.Charset = ""
            Response.ContentEncoding = System.Text.Encoding.Default
            Response.Cache.SetCacheability(HttpCacheability.NoCache)
            Dim gdvEmplacement As GridView = New GridView()
            Dim NomFichier As String = libelle & "_" & Now.ToShortDateString.Replace("/", "_") & ".xls"
     
            gdvEmplacement.DataSource = dttRequete2
            gdvEmplacement.DataBind()
            'Dim ioWriter As New System.IO.StringWriter
            'Dim htmlWriter As New System.Web.UI.HtmlTextWriter(ioWriter)
            Dim htmlWriter As New System.Web.UI.HtmlTextWriter(Response.Output())
            gdvEmplacement.RenderControl(htmlWriter)
            Response.ContentType = "application/vnd.ms-excel"
            Response.AddHeader("content-disposition", "attachment;filename=" & NomFichier)
            'Response.Write(Replace(ioWriter.ToString(), "'", ""))
            'Response.Write(Replace(htmlWriter.ToString(), "'", ""))
            Response.End()

    Bonjour, la génération marche bien mais ca prends beucoup de temps (plus de 10 mn pour 13144 lignes).
    y a-t-il moyen de l'optimiser?
    Merci.

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Y a-t-il une ligne particulière qui prend plus de temps que les autres ? Laquelle est-elle ?

  3. #3
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Hello,
    dans une discussion, un membre donne une autre méthode : http://www.developpez.net/forums/d35...es-vers-excel/
    a tester.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 37
    Par défaut
    C'est bien mais quand on n'a pas excel installé sur le serveur on ne peut pas utiliser cetrte méthode:
    http://www.developpez.net/forums/d35...es-vers-excel/
    y-a pas une autre manière de faire?
    Merci.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 37
    Par défaut
    les fichiers extraits pèsent 73 Mo chacun !!! Alors que normalement ça pèse pas plus de 1,7 Mo

  6. #6
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Plusieurs méthodes qui ne nécessitent pas qu'Excel soit installé sur la machine sont expliquées dans cet article : Comment générer un fichier Excel en ASP.NET

Discussions similaires

  1. Export données fichier excel à un fichier word
    Par Pandapi dans le forum Excel
    Réponses: 1
    Dernier message: 03/02/2009, 15h39
  2. Comment exporter un fichier Excel vers CSV
    Par machipot dans le forum VBA Access
    Réponses: 0
    Dernier message: 09/06/2008, 22h09
  3. [CSV] exporter un fichier excel ou word dans une BDD SQL
    Par kimcharlene dans le forum Langage
    Réponses: 5
    Dernier message: 07/04/2008, 17h28
  4. Réponses: 5
    Dernier message: 06/02/2008, 16h55
  5. Generation automatique d'un fichier excel
    Par Morphine dans le forum Access
    Réponses: 8
    Dernier message: 24/03/2006, 10h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo