2011-01-17 4 views
0

Я пытаюсь загрузить китайские данные из базы данных в excel. Но данные поступают с различными charecters в Excel, как этоExcel скачать для китайской печати нежелательные персонажи?

œèŽžå¸,è¯šé € šè®¡ç®-æœºæŠ € ¢ 术å'¨è¯ æœåŠ¡æœ ‰ é ™ å ... ¬a ¸

Вот мой код для скачивания excel. Я не понимаю, что не так в моем коде.

dg.AllowPaging = False 
     dg.AllowSorting = False 
     dg.AllowCustomPaging = False 
     dg.AutoGenerateColumns = True 

     dg.HeaderStyle.Font.Bold = True 
     dg.HeaderStyle.Font.Underline = True 

     dg.DataSource = sqlDs.Tables(0) 
     dg.DataBind() 
     dg.RenderControl(htmlWrite) 

     Response.Clear() 
     Response.ClearContent() 
     Response.AddHeader("content-disposition", "attachment;filename=FullExtract_" & Now.Year.ToString & Now.Month.ToString & Now.Day.ToString & ".xls") 
     Response.ContentType = "application/octet-stream" 
     'Response.ContentType = "application/excel" 
     Response.BinaryWrite(System.Text.UnicodeEncoding.UTF8.GetBytes(stringWrite.ToString())) 
     Response.End() 

ответ

1

Не пробовал с китайцем, но у меня были подобные проблемы с турецкими данными. Код ниже хорошо работает для меня. Вы можете найти подробную информацию here. Надеюсь это поможет.

Response.Clear(); 
Response.AddHeader("content-disposition","attachment;filename=Test.xls"); 
Response.ContentType = "application/ms-excel"; 
Response.ContentEncoding = System.Text.Encoding.Unicode; 
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble()); 

System.IO.StringWriter sw = new System.IO.StringWriter(); 
System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(sw); 

FormView1.RenderControl(hw); 

Response.Write(sw.ToString()); 
Response.End(); 
Смежные вопросы