Bonjour,

Je souhaiterais exporter un gridview vers un fichier excel a click d'un bouton, mais je n'arrive pas a trouver comment faire en VB.NET!

J'ai beau googler depuis quasiment 2h, je n'avance pas

Quelqu'un aurait-il une solution?

Pour le moment, mon code est
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
  Protected Sub BExcel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BExcel.Click
        ' 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 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 = ""
        ' On instancie deux objets qui vont nous permettre de récupérer les données du DataGrid : 
        ' le StringWriter et l'HtmlTextWriter
        Dim myStringWriter As IO.StringWriter = New IO.StringWriter
        Dim myHtmlTextWriter As HtmlTextWriter = New HtmlTextWriter(myStringWriter)
        ' On extrait le contenu du DataGrid dans l'HtmlTextWriter
        GridView1.RenderControl(myHtmlTextWriter)
        ' On copie le contenu extrait dans la mémoire tampon
        Response.Write(myStringWriter.ToString())
        ' On ferme "le flux" de données et envoie les données au client
        Response.End()
    End Sub
Mais je me fait jeter par "Control 'GridView1' of type 'GridView' must be placed inside a form tag with runat=server. "
Or, je suis dans ce tag!

Il existe une autre solution mais je n'arrive même pas a creer un dataset!