Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

startuga

[Resolvido] Gridview to excel

Mensagens Recomendadas

startuga

Boas pessoal,

Estou com este código a exportar os dados de uma grid para excel:

Private Sub btn_REQST_ExcelReport_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_REQST_ExcelReport.Click
    Response.Clear()
    ' Set the type and filename
    Response.AddHeader("content-disposition", "attachment;filename=REQST" & "_" & Format(Date.Now, "dd/MM/yyyy_HHmm") & ".xls")
    Response.Charset = ""
    Response.ContentType = "application/vnd.xls"
    ' Add the HTML from the GridView to a StringWriter so we can write it out later
    Dim sw As System.IO.StringWriter = New System.IO.StringWriter
    Dim hw As System.Web.UI.HtmlTextWriter = New HtmlTextWriter(sw)
    GV_REQST.RenderControl(hw)
    ' Write out the data
    Response.Write(sw.ToString)
    Response.End()
   End Sub

Contudo os dois primeiros campos da grid são de "Edit" & "Delete", como faço para que os mesmo não apareçam no report do ficheiro de excel?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
startuga

Código final:

 Sub doExcel(ByVal Source As Object, ByVal E As EventArgs)
    GV_REQST.Columns.RemoveAt(1)
    GV_REQST.Columns.RemoveAt(0)
    'se o grid tiver mais que 65536  linhas não podemos exportar
    If GV_REQST.Rows.Count.ToString + 1 < 65536 Then
	    GV_REQST.AllowPaging = "False"
	    GV_REQST.DataBind()
	    Dim tw As System.IO.StringWriter = New System.IO.StringWriter
	    Dim hw As New System.Web.UI.HtmlTextWriter(tw)
	    Dim frm As HtmlForm = New HtmlForm()
	    Response.ContentType = "application/vnd.ms-excel"
	    Response.AddHeader("content-disposition", "attachment;filename=REQST" & "_" & Format(Date.Now, "dd/MM/yyyy_HHmm") & ".xls")
	    Response.Charset = ""
	    EnableViewState = False
	    Controls.Add(frm)
	    frm.Controls.Add(GV_REQST)
	    frm.RenderControl(hw)
	    Response.Write(tw.ToString())
	    Response.End()
	    GV_REQST.AllowPaging = "True"
	    GV_REQST.DataBind()
    End If
   End Sub

<asp:Button ID="btn_REQST_ExcelReport" runat="server" Text="Export to Excel"
		  Height="26px" onclick="doExcel" />

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Ruka284

Código final:

Sub doExcel(ByVal Source As Object, ByVal E As EventArgs)
 GV_REQST.Columns.RemoveAt(1)
 GV_REQST.Columns.RemoveAt(0)
 'se o grid tiver mais que 65536 linhas não podemos exportar
 If GV_REQST.Rows.Count.ToString + 1 < 65536 Then
	 GV_REQST.AllowPaging = "False"
	 GV_REQST.DataBind()
	 Dim tw As System.IO.StringWriter = New System.IO.StringWriter
	 Dim hw As New System.Web.UI.HtmlTextWriter(tw)
	 Dim frm As HtmlForm = New HtmlForm()
	 Response.ContentType = "application/vnd.ms-excel"
	 Response.AddHeader("content-disposition", "attachment;filename=REQST" & "_" & Format(Date.Now, "dd/MM/yyyy_HHmm") & ".xls")
	 Response.Charset = ""
	 EnableViewState = False
	 Controls.Add(frm)
	 frm.Controls.Add(GV_REQST)
	 frm.RenderControl(hw)
	 Response.Write(tw.ToString())
	 Response.End()
	 GV_REQST.AllowPaging = "True"
	 GV_REQST.DataBind()
 End If
End Sub

<asp:Button ID="btn_REQST_ExcelReport" runat="server" Text="Export to Excel"
		 Height="26px" onclick="doExcel" />

Já resolveste ??

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.