Проблема с кодировкой при экспорте в Excel из C # WebPart - PullRequest
1 голос
/ 18 февраля 2011

У меня есть простая 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 голосов
/ 05 апреля 2011

Иногда, когда у меня возникают подобные проблемы при импорте данных, помогает сбросить форматы данных для испорченных деталей.Возможно, вы захотите попробовать сбросить язык документа, чтобы убедиться, что проблема не в вашем коде, а в Excel по умолчанию, по какой-то непонятной причине.Удачи.

...