2011-10-21 15 views
1

私はこの記事を読んで、datatableをExcelファイルにエクスポートしています。 すごくうまくいった。DataTableをExcelファイルにエクスポートするasp.net

dt = city.GetAllCity();//your datatable 
string attachment = "attachment; filename=city.xls"; 
Response.ClearContent(); 
Response.AddHeader("content-disposition", attachment); 
Response.ContentType = "application/vnd.ms-excel"; 
string tab = ""; 
foreach (DataColumn dc in dt.Columns) 
{ 
    Response.Write(tab + dc.ColumnName); 
    tab = "\t"; 
} 
Response.Write("\n"); 
int i; 
foreach (DataRow dr in dt.Rows) 
{ 
    tab = ""; 
    for (i = 0; i < dt.Columns.Count; i++) 
    { 
     Response.Write(tab + dr[i].ToString()); 
     tab = "\t"; 
    } 
    Response.Write("\n"); 
} 
Response.End(); 

しかし、私はこのコードを使用する場合、韓国語の文字がすべて壊れている:

Export DataTable to Excel File

は、コードは以下の通りです。 誰でもこの問題を解決できますか?

+0

それはExcelが文字を表示するUnicodeの必要性を認識しないようにダウンしている可能性があり。それを示すヘッダーが必要なのかもしれません。 –

+0

どのヘッダーを示しますか? –

+0

ContentType charset http://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Responses –

答えて

2

トルコ語にはwindows-1254文字セットを使用します。私はKS_X_1001があなたのために働くだろうと思う。より多くのセットの場合 は:http://en.wikipedia.org/wiki/Character_encoding

Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1254"); 
Response.Charset = "windows-1254"; 
関連する問題