none
Кодировка excel файла RRS feed

Ответы

  • Решение нашел здесь ссылка Что касается кодировки. Имена столбцов гридвию сделал на русском, вся таблица стала отображается нормально.

    • Помечено в качестве ответа Program-s.g 13 сентября 2013 г. 4:26
    13 сентября 2013 г. 4:26

Все ответы

  • Стандартный String это юникод, если вы экспортируете из .Net в Excel. Кодировки задаются с помощью класса  Encoding. Но не очень понятно, что нужно.

    Сделаем содержимое сообщества лучше, вместе!

    11 сентября 2013 г. 15:14
    Модератор
  • Спасибо за ответ! Мне нужно экспортировать данные из базы данных в excel. В excel файле русские буквы отображаются неправильно. Поменял кодировку но не помогло.

    11 сентября 2013 г. 15:44
  • Хорошо, тогда опишите из какой базы, как читаете и как записываете желательно код. Просто надо понять на каком этапе происходит смена кодировки. Какая версия Excel?

    Сделаем содержимое сообщества лучше, вместе!

    11 сентября 2013 г. 15:50
    Модератор
  •  protected void export_Click(object sender, EventArgs e)
        {
            HttpResponse response = HttpContext.Current.Response;
    
            
    
            response.Clear();
    
            response.Charset = "";
    
            
            
    string filename = "Report.xls";
            response.ContentType = "application/vnd.ms-excel";
            response.ContentEncoding = Encoding.UTF8;
    
            response.AddHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
    
            
    
            using (StringWriter sw = new StringWriter())
            {
    
                using (HtmlTextWriter htw = new HtmlTextWriter(sw))
                {
    
                    
    
                    DataGrid dg = new DataGrid();
    
                    dg.DataSource = expsource;
    
                    dg.DataBind();
    
                    dg.RenderControl(htw);
    
                    response.Write(sw.ToString());
    
                    response.End();
    
                }
    
            }
        }
    

    Версия офиса :2007 база данных SQL Express 2010 (local)
    11 сентября 2013 г. 16:01
  • Вот другая проблема, решил использовать gridview для экспорта

     System.IO.StringWriter sw = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);
    
            // Render grid view control.
            GridView1.RenderControl(htw);
    
            // Write the rendered content to a file.
            string renderedGridView = sw.ToString();
            File.WriteAllText(@"D:\ExportedFile.xlsx", renderedGridView);

    Получаю ошибку "Элемент управления 'GridView1' типа 'GridView' должен быть помещен внутрь тега формы с параметром runat=server." , почему так пишет, ведь гридвию находится внутри <form id="form1" runat="server">

    12 сентября 2013 г. 15:20
  • Решение нашел здесь ссылка Что касается кодировки. Имена столбцов гридвию сделал на русском, вся таблица стала отображается нормально.

    • Помечено в качестве ответа Program-s.g 13 сентября 2013 г. 4:26
    13 сентября 2013 г. 4:26