从C#WebPart导出到Excel的编码问题

时间:2011-02-18 15:17:33

标签: c# excel encoding web-parts wss

我有简单的C#WebPart(为WSS 3.0编写)。功能正在将数据导出到excel。一切正常,但我有显示波兰字母的问题。我尝试改变几乎一切,阅读了很多论坛和博客,但仍然不知道我做错了什么。听到我的代码:

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文件,显示波兰标志没有问题。有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

有时当我在导入数据时出现类似问题时,有助于重置被搞砸的部件的数据格式。您可能想尝试重置文档的语言,以确保问题不是您的代码,而Excel出于某些不明原因而默认为英语。祝你好运。