Exportar Datagrid a Excel
Hola que tal a todos, ya he encontrado la soluci贸n a mi anterior problema de como interactuar el c# con el Excel, ahora mi problema es que quiero exportar a Excel el contenido de mi datagrid.
Muhcas gracias de antemano por vuestra atenci贸n y un Saludo.
Muhcas gracias de antemano por vuestra atenci贸n y un Saludo.
Tal vez la forma mas rapida y sencilla, (aunque tal vez no la mejor ni la mas elegante) sea utilizar las funciones del Crystal que viene con .NET, que como debes saber te permite exportar reportes a casi cualquier formato de archivo soportado por la pc del usuario.
Crea el datagrid, pero este no debe tener ningun campo enlazado.
Antes que nada llena el datagrid, y posteriormente lo vuelves a llenar para que exporte.
Y el codigo que puedes utilizar el el siguiente:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Response.Clear()
Response.Charset = ""
Response.ContentType = "application/vnd.ms-excel"
Dim stringWrite As New System.IO.StringWriter()
Dim htmlWrite As New System.Web.UI.HtmlTextWriter(stringWrite)
'Dim das As DataSet = Ds
'DataGrid1.DataSource = das
conn.STORE_PROCEDURE = " SELECT * FROM TABLA ORDER BY 1,2 "
'conn.Execute_Data(Ds, "diesel")
'DataGrid1.DataMember = "diesel"
'DataGrid1.DataBind()
conn.Execute_Data(Ds, "diesel")
DataGrid1.DataSource = Ds
DataGrid1.DataMember = "diesel"
DataGrid1.RenderControl(htmlWrite)
Response.Write(stringWrite.ToString)
Response.End()
End Sub
Espero te sirva
Antes que nada llena el datagrid, y posteriormente lo vuelves a llenar para que exporte.
Y el codigo que puedes utilizar el el siguiente:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Response.Clear()
Response.Charset = ""
Response.ContentType = "application/vnd.ms-excel"
Dim stringWrite As New System.IO.StringWriter()
Dim htmlWrite As New System.Web.UI.HtmlTextWriter(stringWrite)
'Dim das As DataSet = Ds
'DataGrid1.DataSource = das
conn.STORE_PROCEDURE = " SELECT * FROM TABLA ORDER BY 1,2 "
'conn.Execute_Data(Ds, "diesel")
'DataGrid1.DataMember = "diesel"
'DataGrid1.DataBind()
conn.Execute_Data(Ds, "diesel")
DataGrid1.DataSource = Ds
DataGrid1.DataMember = "diesel"
DataGrid1.RenderControl(htmlWrite)
Response.Write(stringWrite.ToString)
Response.End()
End Sub
Espero te sirva
El "response" es relativo a que objeto o clase?
a mi no me funciona ya que no reconoce el Response
a mi no me funciona ya que no reconoce el Response
Hola segui tu ejemplo, pero lo unico que levanto en excel es una pagina en blanco ???
