2011-02-18 53 views
1

我有簡單的C#WebPart(爲WSS 3.0編寫)。其中一項功能是將數據導出爲ex​​cel。一切正常,但我有顯示波蘭語字母的問題。我嘗試改變幾乎所有的東西,閱讀很多論壇和博客,但仍然不知道自己做錯了什麼。聽到的是我的代碼:編碼從C#導出到Excel的問題WebPart

HttpContext.Current.Response.Clear();    
HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}.xls", fileName));    
HttpContext.Current.Response.ContentType = "application/ms-excel"; 
HttpContext.Current.Response.ContentEncoding = 
    System.Text.Encoding.GetEncoding(1250); // this is correct encoding code 

using (StringWriter sw = new StringWriter()) 
{     
    using (HtmlTextWriter htw = new HtmlTextWriter(sw)) 
    {     
     Table table = new Table(); 
     TableRow row = new TableRow(); 

     // (...) fills header row 

     table.Rows.Add(row); 

     foreach (User user in userLists) 
     { 
      TableRow row1 = new TableRow(); 

      // (...) fills row with data 

      table.Rows.Add(row1); 
     } 

     table.RenderControl(htw); 

     HttpContext.Current.Response.Write(sw.ToString()); 
     HttpContext.Current.Response.End(); 
    } 
} 

我用同樣的方法將數據導出爲CSV文件,並沒有與顯示拋光標誌沒有問題。有誰知道我在做什麼錯?

+0

你只導出html表?您可以使用CSV作爲tsv直接進入excel。我不明白你說的是什麼。 – ykatchou 2011-02-18 15:30:18

回答

0

有時當我在導入數據時遇到這樣的問題時,它有助於重置被搞砸的零件的數據格式。您可能想嘗試重置文檔的語言,以確保問題不是您的代碼,但Excel由於某些不明確的原因而默認爲英文。祝你好運。