Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[ASP .NET] HTML table naar Excel -> character encoding ??

Pagina: 1
Acties:

  • dixon
  • Registratie: Januari 2001
  • Laatst online: 11-08 19:36
Ik ben bezig met het ex/importeren van teksten. Van database naar Excel en vise versa. Nu heb ik verscheidene websites gevonden en heb gekozen voor de volgende methode voor de export (deze code komt van een ander forum en mijn code ziet er ondertussen anders uit maar het gaat om de methode):

code:
1
2
3
4
5
6
7
8
9
10
        Response.Clear()
        Response.Buffer = True
        Response.ContentType = "application/vnd.ms-excel"
        Response.Charset = ""
        Me.EnableViewState = False
        Dim objStringWriter As System.IO.StringWriter = New System.IO.StringWriter
        Dim objHtmlTextWriter As System.Web.UI.HtmlTextWriter = New System.Web.UI.HtmlTextWriter(objStringWriter)
        DataGrid1.RenderControl(objHtmlTextWriter)
        Response.Write(objStringWriter.ToString())
        Response.End()


En in plaats van een DataGrid gebruik ik een HtmlTable wat ook werkt. Het probleem is dat niet-ascii karakters (zoals èéï) worden vervangen met andere vreemde tekens, bijvoorbeeld commerciële wordt commerciële.

Ik heb geprobeerd om de encoding van de strings te converteren. En de charset te veranderen (die in het voorbeeld op String.Empty wordt gezet..). Ik krijg het niet voor elkaar. Zodra ik Excel opstart en 'commerciële' in een veldje type/paste dan werkt dit gewoon. Wat gaat er mis?

Wat een onzin..


  • dixon
  • Registratie: Januari 2001
  • Laatst online: 11-08 19:36
Toevallig vind ik net een website met het antwoord. Ik had al redelijk wat tijd gezocht maar soms vind je het net op een andere manier :)

Voor degene die geinteresseerd zijn, dit moest er bij:
Response.ContentEncoding = Encoding.Unicode
Response.BinaryWrite(Encoding.Unicode.GetPreamble())

http://www.dotnetspider.com/kb/Article3179.aspx

Wat een onzin..