begin process at 2010 02 10 11:52:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Web 2.0

 > 

Ajax

 > 

Problème export excel et update panel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème export excel et update panel

mardi 23 octobre 2007 à 16:50:42 | Problème export excel et update panel

gabiset

Bonjour,

J'ai un gridview que je souhaite exporter sous Excel. Mon code fonctionnait très bien jusqu'à ce que j'ajoute un UpdatePanel autour de mon gridview. Il y a apparemment un problème de compatibilité...

Voici le code de mon export Excel :

    Protected Sub ExportExcel(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)

        Try
            ' On efface les éventuelles données déjà dans la mémoire tampon
            Response.Clear()
            ' On place tout ce qui est destiné au client dans la mémoire tampon
            Response.Buffer = True
            ' On conserve les accents
            Response.ContentEncoding = System.Text.Encoding.UTF7
            ' On définit le type d'informations renvoyée, ici des données au format Excel
            Response.ContentType = "application/vnd.ms-excel"
            ' On efface le jeu de caractères actuellement défini
            Response.Charset = ""
            EnableViewState = False
            ' On instancie deux objets qui vont nous permettre de récupérer les données du DataGrid :
            ' le StringWriter et l'HtmlTextWriter
            Dim monStringWriter As StringWriter = New StringWriter
            Dim monHtmlTextWriter As HtmlTextWriter = New HtmlTextWriter(monStringWriter)
            ' On récupère le titre du tableau
            monStringWriter.Write(LabelTitre.Text.ToString())
            monStringWriter.Write(" <br /><br /> ")
            ' On extrait le contenu du GridView dans l'HtmlTextWriter
            GridViewResult.RenderControl(monHtmlTextWriter)
            ' On copie le contenu extrait dans la mémoire tampon
            Response.Write(monStringWriter.ToString())
            ' On ferme "le flux" de données et envoie les données au client
            Response.End()
        Catch ex As Exception
        End Try
    End Sub

En fait, j'ai aussi dans mon code :


Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
        ' Needed for Export Excel on GridViewResult.RenderControl(monHtmlTextWriter)
        ' Confirms that an HtmlForm control is rendered for the specified ASP.NET server control at run time
    End Sub

J'ai trouvé cette solution sur les forums sinon j'avais le message d'erreur suivant :
"Control 'GridViewResult' of type 'GridView' must be placed inside a form tag with runat=server."
alors qu'il est bien dans un tag avec runat="server"...

Voici le message d'erreur que j'obtiens lorsque je clique pour obtenir mon export :

Sys.WebForms.PageRequestManagerParserErrorException : The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.
Details : Error parsing near '2253+AHw-updatePanel'.

et en debug, ça plante sur la ligne GridViewResult.RenderControl(monHtmlTextWriter)
et j'obtiens le message :
"RegisterForEventValidation can only be called during Render();"

Quelqu'un saurait-il comment résoudre ce problème ?

Merci pour votre aide.

Delphine

jeudi 25 octobre 2007 à 10:03:09 | Re : Problème export excel et update panel

gabiset

Bonjour à tous,

Je crois que je vous ai un peu effrayés avec mon post très long ;-)

Il faut finalement retenir que l'erreur que je rencontre quand je fais un Gridview.RenderControl() est la suivnate :
"RegisterForEventValidation can only be called during Render();"

Quelqu'un sait-il comment résoudre cette erreur ? Je ne comprends pas ce qu'elle signifie...

Merci pour votre aide.

Delphine
vendredi 9 novembre 2007 à 13:56:35 | Re : Problème export excel et update panel

cioranEmil

Salut Delphine,

Ajoute ce code:
EnableEventValidation="false"
dans l'entête de ta page aspx, par là :
(<%@ Page Language="VB" MasterPageFile="~/Blabla.master"
AutoEventWireup="false" CodeFile="Blabla.aspx.vb" EnableEventValidation="false"
Inherits="Blabla" title="BLABLA" StylesheetTheme="ControlsTheme" %>)

Ensuite, dans le Page_Init ou Page_Load, enregistre ton bouton qui appele la fonction d'export auprès de ton ScriptManager :

Me.ScriptManager1.RegisterPostBackControl(Me.btnGridExp)


Comme ca, tu peux laisser la propriété EnablePartialRendering de ton ScriptManager à sa valeur par défaut (True)





vendredi 9 novembre 2007 à 14:32:20 | Re : Problème export excel et update panel

gabiset

C'est génial, ça marche !!! Mille mercis !!!

Mais je n'ai pas vraiment compris ce qui le bloquait. Si tu as deux minutes, pourrais-tu éventuellement m'expliquer la solution que tu m'as apportée ?

Merci encore !

Delphine


Cette discussion est classée dans : données, excel, export, response, monstringwriter


Répondre à ce message

Sujets en rapport avec ce message

Pb export données entre asp.net et excel [ par loverchief ] Tout d'abord, bonjour a tous, je vous explique ma situation: je crée un repeater avec des données d'une base de données sql. Un petit bout de code po Export de données Access vers Excel Via ASP [ par bellysland ] Bonjour à tous,Je viens de reprendre une programmation sous ASP, mais voilà que j'ai un problème pour l'exportation de données de ma table Access, sui Probleme d'accent lors de l'export de données sur excel [ par porgy ] J'ai besoin d'exporter un datagrid vers excel. J'utilise le code suivant que j'ai trouvé sur le net. mais lorsque j'ai des accent dans mon datagrid, l Exporter un datagrid vers un fichier excel [ par tournevice ] Salut à tousJe suis confronté à un petit souci technique. En gros, je dispose d'un datagrid remplit et pour lequel je génère un fichier Excel. Jusque Export de données ASP vers EXCEL (+graphique) [ par Muintyr ] Bonjour,je souhaite créer une page ASP (avec sélection de données sur base sql) et pouvoir transférer mes données vers un document EXCEL. Sur ma page erreur lors envoi fichier response.end [ par fredzool ] Dim Visuname As String                Visuname = Me.List_Old_VBCC.SelectedItem.Text                ' On efface les éventuelles données déjà dans la mé Export de crystal report en excel ne fonctionne pas coté client [ par kotor2000 ] Bonjour,je travaille sur un application web qui permet de générer différents rapports crystal en pdf ou en excel.Je sauvegarde les f Export Excel dans plusieurs onglets [ par banekodeih ] Bonjour, voilà mon problème : En fait j'ai une page asp qui contient un tableau. Et j'ai un bouton qui fait exporter ce tableau dans un fichier Exce Help : Remplir excel d'une datagrid mais dans une nouvelle fenetre [ par Xavleb ] Bonjour,Voila le pb: je veut que excel s'ouvre dans une nouvelle fenetre. le transfert des données de la datagrid vers excel c'est ok, seulement excel export vers une feuille d'un fichier excel existant [ par mniajnaa ] bonjour tout le monde j'ai une application web en c# sous dotnet qui permet d'exporter une gridview vers un fichier excel  . j'ai commencé à foui


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales