1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.
  2. Informação: Pela 0:30 desta Sexta-feira (9 de Dezembro, 23:30 de Quinta-feira nos Açores) o Fórum e restantes sites da ZWAME vão estar offline para manutenção durante cerca de 1h30.
    Se necessário faremos actualizações via Twitter e Facebook.
    Remover anúncio

Exportar GridView de ASP para eXcel

Discussão em 'Programação' iniciada por Any, 9 de Outubro de 2008. (Respostas: 5; Visualizações: 1860)

  1. Any

    Any Power Member

    Tenho o seguinte codigo:
    PHP:
    ublic Shared Sub Export(ByVal fileName As StringByVal gv As GridView)
            
    HttpContext.Current.Response.Clear()
            
    HttpContext.Current.Response.AddHeader("content-disposition"String.Format("attachment; filename={0}"fileName))
            
    HttpContext.Current.Response.ContentType "application/ms-excel"
            
    Dim sw As StringWriter = New StringWriter
            Dim htw 
    As HtmlTextWriter = New HtmlTextWriter(sw)
            
    '  Create a form to contain the grid
            Dim table As Table = New Table
            table.GridLines = gv.GridLines
            '  
    add the header row to the table
            
    If (Not (gv.HeaderRowIs NothingThen
                GridExport
    .PrepareControlForExport(gv.HeaderRow)
                
    table.Rows.Add(gv.HeaderRow)
            
    End If
            
    '  add each of the data rows to the table
            For Each row As GridViewRow In gv.Rows
                GridExport.PrepareControlForExport(row)
                table.Rows.Add(row)
            Next
            '  
    add the footer row to the table
            
    If (Not (gv.FooterRowIs NothingThen
                GridExport
    .PrepareControlForExport(gv.FooterRow)
                
    table.Rows.Add(gv.FooterRow)
            
    End If
            
    '  render the table into the htmlwriter
            table.RenderControl(htw)
            '  
    render the htmlwriter into the response
            HttpContext
    .Current.Response.Write(sw.ToString)
            
    HttpContext.Current.Response.End()
        
    End Sub
    o qual uso para me exportar uma gridview para excel, no entanto ao exportar uma coluna que contem dados do tipo "08/01" ou "08/02" quando chega ao excel aparece como "08-jan" ou seja ele formata como data...

    Alguem me sabe dizer como posso resolver isto?

    Obrigado desde ja!
     
  2. SoundSurfer

    SoundSurfer Power Member

    Experimenta colocar os valores com ' ... ex: '08/10'
     
  3. Any

    Any Power Member

    o problema e q esses valores ja vem assim da BD!

    edit: resolvi o problema no dataformatstring da gridview meter um ' antes do texto, ao menos o excel ja nao me detecta akilo como data...
     
    Última edição: 9 de Outubro de 2008
  4. DisturbedGod

    DisturbedGod 1st Folding then Sex

    Suponho que não irás fazer qualquer tipo de cálculo com esses valores.

    Logo poderás fazer só uma formatação muito simples: Vai a Formatar Células -> Personalizado e escreve isto: dd/mm . Para o Excel continuará a ser uma data (como poderás ver se activares a célula em que introduziste a formatação), mas vai ficar visível como tu queres.
     
  5. AliFromCairo

    AliFromCairo Power Member

    Vê se isto ajuda.
     
  6. Any

    Any Power Member

    ja consegui resolver o problema tal como podes ver pela minha resposta mais acima, de qq forma obrigado pela resposta
     

Partilhar esta Página