Jag exporterar ett DataGrid till Excel bl.a. genom att sätta Testa med UTF-8 Hmm, tycker det borde fungera om din kolumn i databasen stödjer unicode (nvarchar etc). Kolumnerna i databasen är nvarchar allihop. Hej! Nu har jag satt Tjohoo! Jag har i en applikation löst problemet genom att köra server.htmlencode på innehållet i cellerna. Det fungerade också, utan att jag ändrat ContentEncoding. Exporterade då iofs en vanlig Table till Excel.Sätta rätt codepage i Excelexport
Response.ContentType = "application/vnd.ms-excel"
I Excel-arket blir å, ä och ö konstiga tecken. Jag gissar på att man måste sätta Response.Charset till något, men jag vet inte vad. Databas collation på textfälten är SQL_Latin1_General_CP1_CI_AS.
Nån som vet vilket Charset man ska använda, eller om det är något annat?Sv: Sätta rätt codepage i Excelexport
/Fredrik Normén NSQUARED2
http://fredrik.nsquared2.comSv: Sätta rätt codepage i Excelexport
Jag vet att vi har haft problem med detta själv innan, men läste det genom att köra med UTF-8 charset samt sparade själva sidan som genererade vår data till UTF-8. Kanske kan vara värt ett försök?
/Fredrik Normén NSQUARED2
http://fredrik.nsquared2.comSv: Sätta rätt codepage i Excelexport
Hur menar du med att jag ska spara sidan till UTF-8?
Som det är nu så öppnas ett nytt fönster och man får valet Öppna/Spara. Väljer man Öppna så öppnas Excel-arket i browsern. Väljer man Spara så sparar man ner det på hårddisken.Sv: Sätta rätt codepage i Excelexport
Du behöver även sätta
Response.ContentEncoding
till något lämpligt.
ContentEncoding bestämmer på vilket sätt dina unicode-strängar skall omvandlas till en teckenström i en viss encoding.
Response.Charset sätter i HTTP-headern att du påstår att det som kommer är t.ex. UTF-8, och det kan webbläsaren använda för att decodea de bytes som kommer till något läsbart.
Men någon encoding görs inte när du sätter den.
När ContentEncoding och Charset diffar och t.ex. Ö ligger på olika bytevärden i respektive encoding, då får man "konstiga tecken".. :)
OlaSv: Sätta rätt codepage i Excelexport
Response.Charset = "UTF8"
Response.ContentEncoding = System.Text.Encoding.UTF8
och
Response.Charset = "UTF-8"
Response.ContentEncoding = System.Text.Encoding.UTF8
Men får fortfarande samma fel.
Trött man blir! :(Sv: Sätta rätt codepage i Excelexport
Fick det att funka
Response.Charset = ""
Response.ContentEncoding = System.Text.Encoding.DefaultSv: Sätta rätt codepage i Excelexport
/Pelle