Help : Remplir excel d'une datagrid mais dans une nouvelle fenetre

Xavleb Messages postés 21 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 26 janvier 2009 - 19 janv. 2009 à 14:31
Xavleb Messages postés 21 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 26 janvier 2009 - 19 janv. 2009 à 17:25
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 s'ouvre dan ma fenetre courante, je voudrais qu'il s'ouvre dans une nouvelle fenetre ou une popup. Voici mon code, merci d'y jeter un coup d'oeil:

 Protected Sub Button1_Click1(ByVal sender As Object, ByVal e As System.EventArgs)HandlesButton1.Click   


     Response.Clear()
        Response.Buffer = True
        Response.ContentType = "application/vnd.ms-excel"
        Response.Charset = ""
  ' On efface le jeu de caractères actuellement défini
        Response.Charset = ""
    ' 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 extrait le contenu du DataGrid dans l'HtmlTextWriter
        DataGrid1.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() 


    End Sub

4 réponses

PascalCmoa Messages postés 239 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 17 janvier 2013 5
19 janv. 2009 à 14:48
Bonjour,

Pourquoi ne fais-tu pas cette action dans une fenetre que tu ouvrirais sur un évènement de type Click d'un bouton. en mettant juste:
Dim script As String = ""
script = "window.open('cheminDeMaPageAvecExcel.aspx?page=" & unParametreSiBesoin & "')"
ScriptManager.RegisterStartupScript(upValideCmdeMag, upValideCmdeMag.GetType(), "openWindow", script, True)

Dans l'objet Window du javascript tu peux définir beaucoup de paramètres, telle que la cible (_blank, _parent, ...). Tu résolverais ainsi ton problème.

a+

PascalCmoa
[mailto:pascal.aknouche@free.fr email: PascalCmoa]
0
Xavleb Messages postés 21 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 26 janvier 2009
19 janv. 2009 à 15:00
C'est exactement ce que je veux faire lors du click sur le bouton1 (voir sub boutton1_cllick). Je fait du developpement web au passage. Je n'est pas trops saisi le code, n'y a t'il pas juste un target _blank que je peux mettre en paramètre de mon résponse.write??
0
Xavleb Messages postés 21 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 26 janvier 2009
19 janv. 2009 à 15:04
En fait lorsque l'utilisateur clique sur le bouton, une fenetre demandant l'enregistrement apparît et un bouton ouvrir. Si l'utilisateur clique sur ouvrir, le fichier excel s'ouvre dans mon cadre principal et je voudrais que se soit dans une nouvelle fenetre.
0
Xavleb Messages postés 21 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 26 janvier 2009
19 janv. 2009 à 17:25
Je ne veux pas l'enregistrer sur le serveur. J'ai essayer de mettre un evenement onclick en java sur le bouton window.open("") Mais une nouvelle fenetre s'ouvre et le problème c'est que quand on ouvre le fichier excel il est toujours ouvert dans ma fenetre principale et non dans celle que j'ai ouverte.
0