powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ошибка после импорта в excel
18 сообщений из 18, страница 1 из 1
ошибка после импорта в excel
    #38643007
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Помогите решить проблему, не знаю что делать=)
Сделала импорт в excel и всё работает, но есть одно но, при открытии вылазит ошибка.
Возможно ли это решить.
Могу скинуть код, только сильно тухлыми помидорами не закидывайте.
Код: 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.
 protected void Excel_click(object sender, EventArgs e)
    {
        System.IO.StringWriter stringWrite = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

        SqlDataAdapter adap = new SqlDataAdapter("SELECT DISTINCT тн.Заказ.КодЗаказаПоСЦ, тн.ЗаказСтроки.РаботаОписание, тн.ЗаказСтроки.РаботаКод, тн.ЗаказСтроки.ТипРесурса, тн.Работы.РесурсПолноеОписание, тн.ЗаказСтроки.Количество, тн.ЗаказСтроки.Цена, тн.ЗаказСтроки.ЕдИзм FROM тн.Заказ INNER JOIN тн.ЗаказСтроки ON тн.Заказ.КодЗаказа = тн.ЗаказСтроки.Заказ INNER JOIN тн.Работы ON тн.ЗаказСтроки.КодРесурса = тн.Работы.РесурсКод WHERE (тн.ЗаказСтроки.Заказ = '" + IDzakaz.Text + "')", conn);
        DataSet ds = new DataSet();
        adap.Fill(ds);
        GridView6.DataSource = ds;
        GridView6.DataBind();       

        Response.Clear();
        Response.AddHeader("content-disposition", "attachment;filename=filezakaz.xls");
        Response.ContentType = "Application/msexcel";
        //Заголовок
        htmlWrite.WriteLine("<b><u><font size='5'>" +
           "Заказ №: " + max.Text +
           "</font></u></b>");
        htmlWrite.WriteLine("<br>&mp;nbsp;");
        Сервис.RenderControl(htmlWrite);
        ЗаказGrid.RenderControl(htmlWrite);
        Label17.RenderControl(htmlWrite);
        GridView6.RenderControl(htmlWrite);
        Response.Write(stringWrite.ToString());
        Response.End();
    }
}
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643031
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правду Excel говорит, внутри - HTML

чтоб не кричал - честный эксельный формат генерить нужно
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643035
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил, а вы не подскажите пожалуйста, как это сделать?
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643037
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропилправду Excel говорит, внутри - HTML

чтоб не кричал - честный эксельный формат генерить нужно

про это я уже давно ещё в каком то паблике прочитала. а как обойти, что-то так и не нашла.
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643049
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da harochИзопропил, а вы не подскажите пожалуйста, как это сделать?
прямой путь -Open XML SDK

возможны варианты -Report Server, генераторы отчётов, сторонние библиотеки
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643055
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прямой путь -Open XML SDK


извиняюсь, я кучу инфы прочитала, так и не дошло как это сделать, печалька, а про репорт я думала уже, мне кажется не проканает, ибо приложение выпущено наружу и я так понимаю буду сложности с работой такого отчёта во вне.
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643086
Nicky_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da haroch,

При использовании Open XML есть 2 варианта:
1. Работать напрямую с этой библиотекой - писать обертку для нее самому, вариант не самый легкий, зато имеешь полный контроль.
2. Использовать готовые обертки EPPlus , ClosedXML , SpreadsheetLight
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643089
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nicky_N, спасибо я по пробую
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643117
Nicky_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da haroch,

если пойдете по первому пути, может пригодится:
msdn
Creating basic Excel workbook with Open XML
Creating and streaming an OpenXML Spreadsheet using the .Net SDK and ASP.NET MVC
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643172
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.. вообще-то, надо бы еще выяснить, какая версия Excel-a ...
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643196
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carrotik, 2007, я читала что на 2003 у людей всё открывается нормально. не пробовала не могу точно сказать. Ещё в одной из статей нашла что лечится если поставить Response.ContentType = "Application/msexcel"; поставила не вылечилось=)
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643199
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carrotik,
а ещё пишут есть выход в реестре править. но я так понимаю это на клиентском уровне нужно делать видимо.
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643221
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насколько я помню
HTML должен быть в формате
<table>
<tr>
<td>
....................

ну а наверно более оптимально всё таки пересылать в формате csv
правда при этом теряется всё форматирование
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643222
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da harochЕщё в одной из статей нашла что лечится если поставить Response.ContentType = "Application/msexcel"; поставила не вылечилось=)
бесполезно, сообщение выдаёт не броузер, а excel


carrotik.. вообще-то, надо бы еще выяснить, какая версия Excel-a ...
все последние будут возмущаться (2007 тихо открывал)


da harochа ещё пишут есть выход в реестре править. но я так понимаю это на клиентском уровне нужно делать видимо.
da harochибо приложение выпущено наружу
значит неприемлемо.
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643466
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da harochcarrotik, 2007, я читала что на 2003 у людей всё открывается нормально. не пробовала не могу точно сказать. Ещё в одной из статей нашла что лечится если поставить Response.ContentType = "Application/msexcel"; поставила не вылечилось=)

...я пишу вообще "application/octet-stream" - и все нормально открывается и в Экселе и в ОпенОфисе - Кальке, правда, на 10-м не проверял ...
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643486
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

... а нет, вру, 10-й задает тот же глупый вопрос .... :(
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643507
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da haroch,
...вообще, имейте в виду, OpenXML, конечно, хорошая штука, но простенькая формочка для Ворда (счет-фактура с парой картинок, логотип и печать с подписью) выходит строк на 300 кода .... Может, лучше уговорить пользователей нажимать "ОК" ..?
...
Рейтинг: 0 / 0
ошибка после импорта в excel
    #38643516
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik..вообще, имейте в виду, OpenXML, конечно, хорошая штука, но простенькая формочка для Ворда (счет-фактура с парой картинок, логотип и печать с подписью) выходит строк на 300 кода ...
с генератором отчётов такой херни не будет
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ошибка после импорта в excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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