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):
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?
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..