powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Помогите с кодировкой при выгрузке файла
4 сообщений из 4, страница 1 из 1
Помогите с кодировкой при выгрузке файла
    #38256798
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот появилась проблемка, необходимо результат выборки выгрузить в эксель делаю так


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
protected void bExport_Click(object sender, EventArgs e)
    {
 DataTable resultToExcel = Export.ExportToExcel(DateTime.Parse(txtFrom.Text), DateTime.Parse(txtTo.Text));
HtmlTable results = Export.ConvertToHtml(resultToExcel);  //----------********
                Response.Clear();
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                Response.AddHeader("Content-Disposition", "attachment; filename=Test.xls");
                Response.ContentType = "application/vnd.ms-excel";
                //Response.Charset = "win-1251";   закоментировал так как это не помогло
                //Response.ContentEncoding = Encoding.GetEncoding("win-1251");
                //Response.HeaderEncoding = Encoding.GetEncoding("win-1251");
                StringWriter stringWrite = new StringWriter();
                HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
                results.RenderControl(htmlWrite);
                Response.Write(stringWrite.ToString());
                resultToExcel.Dispose();
                results.Dispose();
                Response.End();
}
//---------------------------------------------------------------------*******

public static HtmlTable ConvertToHtml(DataTable dataTable)
    {
        var htmlTable = new HtmlTable();
        if (dataTable == null) return htmlTable;
        HtmlTableRow htmlRow = new HtmlTableRow();
        htmlTable.Rows.Add(htmlRow);
        foreach (DataColumn column in dataTable.Columns)
        {
            HtmlTableCell Cell = new HtmlTableCell();
            Cell.InnerText = column.ColumnName;
            Cell.BgColor = "Gray";
            Cell.Align = "Center";
            Cell.Attributes.Add("style", "font-size:14px; color: white;");
            htmlRow.Cells.Add(Cell);
        }
        foreach (DataRow row in dataTable.Rows)
        {
            htmlRow = new HtmlTableRow();
            htmlTable.Rows.Add(htmlRow);
            foreach (DataColumn column in dataTable.Columns)
            {
                HtmlTableCell Cell = new HtmlTableCell();
                Cell.InnerText = row[column].ToString();
                htmlRow.Cells.Add(Cell);
            }
        }
        return htmlTable;
    }



У меня полно таких функций но эта почему то не работает в смысле русские буквы отображает в экселе как "абра кадабра"
Подскажите что можно переделать что бы русские буквы показывало нормально.


Спасибо
...
Рейтинг: 0 / 0
Помогите с кодировкой при выгрузке файла
    #38256817
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите с кодировкой при выгрузке файла
    #38256907
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

...я в этом случае добавляю еще "ручной заголовок" примерно такого типа (это VB.NET, но принцип поймете)

Код: vbnet
1.
2.
Dim strMeta As String = "<meta http-equiv=" & Chr(39) & "Content-Type" & Chr(39) & " content=" & Chr(39) & "text/html; charset=utf-8" & Chr(39) & ">"
Response.Write(strMeta & stringWrite.ToString())
...
Рейтинг: 0 / 0
Помогите с кодировкой при выгрузке файла
    #38257974
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikVIT2708,

...я в этом случае добавляю еще "ручной заголовок" примерно такого типа (это VB.NET, но принцип поймете)

Код: vbnet
1.
2.
Dim strMeta As String = "<meta http-equiv=" & Chr(39) & "Content-Type" & Chr(39) & " content=" & Chr(39) & "text/html; charset=utf-8" & Chr(39) & ">"
Response.Write(strMeta & stringWrite.ToString())



Спасибо попробую
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Помогите с кодировкой при выгрузке файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]