Как сгенерить репорт в EXCEL

shapovalov
Дата: 03.06.2008 15:46:25
Привет,
мне нужно сгенерировать Excel файл в котором будет какая то SQL выборка.
Вопрос такой, как это сделать? я посмотрел RDLC репорты, но там надо ложить поля из датасета на форму, а мне надо просто автоматически полученные результаты запроса вставить в excel, запрос генерируется динамически, т.е. датасет использовать не буду.
Как это можно сделать? Желательно с наименьшими усилиями.

Спасибо,
Александр.
GreenAsh
Дата: 03.06.2008 16:07:00
Привет,
мне нужно сгенерировать Excel файл в котором будет какая то SQL выборка.
Вопрос такой, как это сделать? я посмотрел RDLC репорты, но там надо ложить поля из датасета на форму, а мне надо просто автоматически полученные результаты запроса вставить в excel, запрос генерируется динамически, т.е. датасет использовать не буду.
Как это можно сделать? Желательно с наименьшими усилиями.

Спасибо,
Александр.

Используй interop сборку и сам генерируй отчет.
Артем1
Дата: 03.06.2008 16:30:05
неплохие отчетники есть типа gembox и syncflusion. Пишут в формате excel без него самого. Удобные методы по вставке DataTable в лист. SaveAs хоть в файл, хоть в Response.
s_golovko
Дата: 03.06.2008 17:26:17
Можно использовать MS Reporting Services
<a href=http://avto-credit.com>калькулятор автокредита</a> | <a href=http://avto-credit.com/crash-test.aspx>краш-тесты автомобилей</a> | <a href=http://crash-tests.net>краш-тесты</a>
shapovalov
Дата: 03.06.2008 19:03:46
а можно подробнее, как или хотя бы какой пример кода?
Petr0
Дата: 03.06.2008 20:09:40
Можно так:
В качестве параметра можно передать Table, GridView итп...

private void RenderControlToExcel(Control control)
{
System.IO.StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
control.RenderControl(hw);
Response.ContentType = "application/vnd.ms-excel";
Response.Charset = "UTF-8";
Response.Write(tw.ToString());
Response.End();
}
shapovalov
Дата: 03.06.2008 21:49:25
Спасибо большое :)