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 :

Encodage foireux lors d'export XLS


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Par défaut Encodage foireux lors d'export XLS
    Pelope !

    Voilà, quand j'exporte des données stockées en base, les caractères spéciaux sont foireux dans mon fichier XLS.

    Quand je touche la source HTML générée en ajoutant un charset en UTF-8, l'affichage de mon tableur est niquel.

    Ma question est donc : Comment faire pour que le fichier XLS généré avec une source HTML contiennent la ligne

    La génération via VB :
    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
    Try
                    Dim objConn As New SqlConnection(new_ClassConst.ConnectionString)
                    objConn.Open()
                    Dim objCmd As SqlCommand = objConn.CreateCommand
                    objCmd.CommandText = strReq
                    Dim dr As SqlDataReader = objCmd.ExecuteReader()
     
                    Dim DataGrid1 As New DataGrid
                    DataGrid1.DataSource = dr
                    DataGrid1.DataBind()
     
                    Response.ContentType = "application/vnd.ms-excel"
                    Response.Charset = ""
     
                    Dim strw As New System.IO.StringWriter
                    Dim htmlw As New System.Web.UI.HtmlTextWriter(strw)
                    DataGrid1.RenderControl(htmlw)
                    Response.Write(strw.ToString())
     
                    dr.Close()
                    objCmd.Dispose()
                    objConn.Close()
                    Response.End()
    Exemple de génération obtenue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <table cellspacing="0" rules="all" border="1" style="border-collapse:collapse;">
        <tr>
            <td>Nom</td><td>Prénom</td><td>Email</td><td>Organisme</td><td>Ville</td>
        </tr><tr>
            <td>AARON</td><td>Laurent</td><td>laurent.aaron@ch-bourges.fr</td><td>&nbsp;</td><td>&nbsp;</td>
        </tr><tr>
            <td>AAZIB</td><td>Larbi</td><td>larbi.aazib@ch-arras.fr</td><td>&nbsp;</td><td>&nbsp;</td>
        </tr>
    </table>
    Exemple de ce que je voudrais obtenir à la place :
    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
     
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    </head>
    <body>
        <table cellspacing="0" rules="all" border="1" style="border-collapse:collapse;">
            <tr>
                <td>Nom</td><td>Prénom</td><td>Email</td><td>Organisme</td><td>Ville</td>
            </tr><tr>
                <td>AARON</td><td>Laurent</td><td>laurent.aaron@ch-bourges.fr</td><td>&nbsp;</td><td>&nbsp;</td>
            </tr><tr>
                <td>AAZIB</td><td>Larbi</td><td>larbi.aazib@ch-arras.fr</td><td>&nbsp;</td><td>&nbsp;</td>
            </tr>
        </table>
    </body>
    </html>
    Thanks for help !

    @tchaOo°

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2003
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 91
    Par défaut
    Je voi pas de différence dans les données de la table... Si j'ai bien compris ton problème ce qui te dérange c'est que la méthode appellée depuis ta datagrid ne génère pas le code d'une page HTML mais d'un tableau HTML. Dans ce cas il faudrait faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dim part1 as string = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1' /></head><Body>"
    dim part2 as string = "</Body></html>"
     
    Response.Write( part1 & strw.ToString() & part2)

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/02/2008, 09h48
  2. Pb format données lors d'export
    Par rjcab dans le forum VBA Access
    Réponses: 13
    Dernier message: 14/09/2007, 14h38
  3. [2.2M6] export XLS
    Par nicolep dans le forum BIRT
    Réponses: 3
    Dernier message: 09/05/2007, 15h55
  4. JasperReports : Problème lors d'un export xls
    Par Sahaqiel dans le forum Documents
    Réponses: 1
    Dernier message: 16/03/2007, 16h04
  5. InputBox & export .xls
    Par fabrice518 dans le forum Access
    Réponses: 2
    Dernier message: 23/09/2005, 11h03

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