Exporter un gridView vers un fichier excel
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:
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!
:( :evilred: :evilred:
Real XML/XLSX export to Excel
If you really need a fast export (I mean many thousands of records) to Excel you must export in XML format for Excel 2003 or XLSX format for Excel 2007. I suggest you to try http://www.gridviewtoexcel.com
Regards
Ettore