Export DataTable в Excel.
От: Аноним  
Дата: 18.12.03 11:26
Оценка:
На сревере, где крутится ASP.NET приложение, Excel не установлен, т. е. объектную модель использовать не получится. А нужно сделать так, чтобы при нажатии кнопочки на форме у клиента открылся Excel и в нем появилась таблица, отображаемая в DataGride на форме. Как это сделать?
Re: Export DataTable в Excel.
От: Gollum Россия  
Дата: 18.12.03 11:38
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>На сревере, где крутится ASP.NET приложение, Excel не установлен, т. е. объектную модель использовать не получится. А нужно сделать так, чтобы при нажатии кнопочки на форме у клиента открылся Excel и в нем появилась таблица, отображаемая в DataGride на форме. Как это сделать?


а) Excel 2003 понимает XML, предложить клиенту поставить 2003 офис.
б) Использовать скрипт, который бы запустил экселя у клиента и както подтянул данные.
в) Написать свой активикс, или ява-апплет, или винформс контрол, кроторый бы манипулировал с экселем на клиенте.
г) Разобраться в структуре книги эксел и формировать ее ручками.
д) Поставить на сервере офис и использовать Server-Side automation.
Мне звонили с открытия пленума — я сказал им, что я не приду
Eugene Agafonov on the .NET

Re: Export DataTable в Excel.
От: Алексей Одинцов Россия  
Дата: 18.12.03 11:42
Оценка:
Здравствуйте, <Аноним>, Вы писали:
А>На сревере, где крутится ASP.NET приложение, Excel не установлен, т. е. объектную модель использовать не получится. А нужно сделать так, чтобы при нажатии кнопочки на форме у клиента открылся Excel и в нем появилась таблица, отображаемая в DataGride на форме. Как это сделать?
никак. у клиента должен быть установлен excel чтобы у него появилась его табличка. хотя бы бесплатный excel-reader (как он там называется не помню).
если же задача отобразить датагрид с данными, то понятно это уже решаемая задача.
... << RSDN@Home 1.1.0 stable >>
Re[2]: Export DataTable в Excel.
От: Gollum Россия  
Дата: 18.12.03 11:46
Оценка:
Здравствуйте, Алексей Одинцов, Вы писали:

А>>На сревере, где крутится ASP.NET приложение, Excel не установлен, т. е. объектную модель использовать не получится. А нужно сделать так, чтобы при нажатии кнопочки на форме у клиента открылся Excel и в нем появилась таблица, отображаемая в DataGride на форме. Как это сделать?


АО>никак. у клиента должен быть установлен excel чтобы у него появилась его табличка. хотя бы бесплатный excel-reader (как он там называется не помню).


А кто сказал что его нет у клиента в данном случае?
В лучших книгах всегда нет имен, и в лучших картинах — лиц
Eugene Agafonov on the .NET

Re[2]: Export DataTable в Excel.
От: Алексей Одинцов Россия  
Дата: 18.12.03 11:57
Оценка:
Здравствуйте, Gollum, Вы писали:
G>а) Excel 2003 понимает XML, предложить клиенту поставить 2003 офис.
не выход.
G>б) Использовать скрипт, который бы запустил экселя у клиента и както подтянул данные.
выход — я бы сформулировал так: запустить эксел дав ему tab-separated текстовый файл. он умеет.
G>в) Написать свой активикс, или ява-апплет, или винформс контрол, кроторый бы манипулировал с экселем на клиенте.
это возможно, в частности как частный случай в).
G>г) Разобраться в структуре книги эксел и формировать ее ручками.
это не вариант. впрочем, есть свободно распространяемые библиотеки, которые позволяют сделать простой excel
G>д) Поставить на сервере офис и использовать Server-Side automation.
самый простой из вариантов, если нет необходимости продавать продукт третим лицам. да и даже им возможно проще будет купить офис.
... << RSDN@Home 1.1.0 stable >>
Re[3]: Export DataTable в Excel.
От: Gollum Россия  
Дата: 18.12.03 12:00
Оценка:
Здравствуйте, Алексей Одинцов, Вы писали:

G>>а) Excel 2003 понимает XML, предложить клиенту поставить 2003 офис.

АО>не выход.

Выход. Отдаешь xml и все. Кстати имхо, лучший выход в данной ситуации, если клиент согласится.

G>>д) Поставить на сервере офис и использовать Server-Side automation.

АО>самый простой из вариантов, если нет необходимости продавать продукт третим лицам. да и даже им возможно проще будет купить офис.

Он же самый глючный, на грабли с выгрузкой экселя из памяти на сервере уже все наступали.
Любая весть изначально благая, просто ты к этому еще не привык
Eugene Agafonov on the .NET

Re[4]: Export DataTable в Excel.
От: Алексей Одинцов Россия  
Дата: 18.12.03 12:33
Оценка:
Здравствуйте, Gollum, Вы писали:
G>Он же самый глючный, на грабли с выгрузкой экселя из памяти на сервере уже все наступали.
вообще его не надо выгружать... чтобы не загружать постоянно
... << RSDN@Home 1.1.0 stable >>
Re[5]: Export DataTable в Excel.
От: Gollum Россия  
Дата: 18.12.03 12:50
Оценка:
Здравствуйте, Алексей Одинцов, Вы писали:

АО>Здравствуйте, Gollum, Вы писали:

G>>Он же самый глючный, на грабли с выгрузкой экселя из памяти на сервере уже все наступали.
АО>вообще его не надо выгружать... чтобы не загружать постоянно

Ага, и разгребать все проблемы с многопоточностью, которые из этого вылезут. Нафиг нафиг. Я лучше репортинг сервисами воспользуюсь — тем более там офис веб компонентс поддерживаются.
Мне звонили с открытия пленума — я сказал им, что я не приду
Eugene Agafonov on the .NET

Re[2]: Export DataTable в Excel.
От: Аноним  
Дата: 18.12.03 13:00
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, <Аноним>, Вы писали:


А>>На сревере, где крутится ASP.NET приложение, Excel не установлен, т. е. объектную модель использовать не получится. А нужно сделать так, чтобы при нажатии кнопочки на форме у клиента открылся Excel и в нем появилась таблица, отображаемая в DataGride на форме. Как это сделать?



У меня опыт в WEB разработках начинается с ASP.NET, т. е. опыта очень мало , поэтому прошу Вас по-подробнее разъяснить эти варианты:

G>а) Excel 2003 понимает XML, предложить клиенту поставить 2003 офис.

поставляются-ли с этим офисом какие-нибудь библиотки для работы с ASP.NET?
если нет, то как быть — получил я поток при помощи DataSet.WriteXml(), а дальше с ним что нужно делать?


G>в) Написать свой активикс, или ява-апплет, или винформс контрол, кроторый бы манипулировал с экселем на клиенте.


Или поясните или ссылочку или пример дайте как можно задействовать винформс контрол?

Спасибо.
Re[6]: Export DataTable в Excel.
От: Алексей Одинцов Россия  
Дата: 18.12.03 13:02
Оценка:
Здравствуйте, Gollum, Вы писали:
G>Ага, и разгребать все проблемы с многопоточностью, которые из этого вылезут. Нафиг нафиг. Я лучше репортинг сервисами воспользуюсь — тем более там офис веб компонентс поддерживаются.
вот и ответ? правда он существеннен только если ТРЕБУЕТСЯ чтобы клиенту приходил файл xls.
... << RSDN@Home 1.1.0 stable >>
Re[7]: Export DataTable в Excel.
От: Аноним  
Дата: 18.12.03 13:09
Оценка:
Здравствуйте, Алексей Одинцов, Вы писали:

АО>Здравствуйте, Gollum, Вы писали:

G>>Ага, и разгребать все проблемы с многопоточностью, которые из этого вылезут. Нафиг нафиг. Я лучше репортинг сервисами воспользуюсь — тем более там офис веб компонентс поддерживаются.
АО>вот и ответ? правда он существеннен только если ТРЕБУЕТСЯ чтобы клиенту приходил файл xls.

А можно по-подробнее про репортинг сервисы — где их скачать можно?
Re[8]: Export DataTable в Excel.
От: Gollum Россия  
Дата: 18.12.03 13:31
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>А можно по-подробнее про репортинг сервисы — где их скачать можно?


http://www.microsoft.com/sql/reporting/
Любая весть изначально благая, просто ты к этому еще не привык
Eugene Agafonov on the .NET

Re[3]: Export DataTable в Excel.
От: Аноним  
Дата: 18.12.03 14:06
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Gollum, Вы писали:


G>>Здравствуйте, <Аноним>, Вы писали:


А>>>На сревере, где крутится ASP.NET приложение, Excel не установлен, т. е. объектную модель использовать не получится. А нужно сделать так, чтобы при нажатии кнопочки на форме у клиента открылся Excel и в нем появилась таблица, отображаемая в DataGride на форме. Как это сделать?



А>У меня опыт в WEB разработках начинается с ASP.NET, т. е. опыта очень мало , поэтому прошу Вас по-подробнее разъяснить эти варианты:


G>>а) Excel 2003 понимает XML, предложить клиенту поставить 2003 офис.

А>поставляются-ли с этим офисом какие-нибудь библиотки для работы с ASP.NET?
А>если нет, то как быть — получил я поток при помощи DataSet.WriteXml(), а дальше с ним что нужно делать?


G>>в) Написать свой активикс, или ява-апплет, или винформс контрол, кроторый бы манипулировал с экселем на клиенте.


А>Или поясните или ссылочку или пример дайте как можно задействовать винформс контрол?


А>Спасибо.



Ответьте please, очень нужно:

как быть — получил я поток при помощи DataSet.WriteXml(), а дальше с ним что нужно делать?
Re[2]: Export DataTable в Excel.
От: Аноним  
Дата: 21.12.03 15:40
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, <Аноним>, Вы писали:


А>>На сревере, где крутится ASP.NET приложение, Excel не установлен, т. е. объектную модель использовать не получится. А нужно сделать так, чтобы при нажатии кнопочки на форме у клиента открылся Excel и в нем появилась таблица, отображаемая в DataGride на форме. Как это сделать?


G>а) Excel 2003 понимает XML, предложить клиенту поставить 2003 офис.



Уговорил клиента но есть проблема, делаю так:



DataSet dsTemp = new DataSet();
dsTemp.Tables.Add(table);

System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
dsTemp.WriteXml(tw);

Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment; filename=ExcelFile.xml");
Response.BufferOutput = true;
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Charset = "UTF-8";

EnableViewState = false;

Response.Write(tw.ToString());
Response.End();


Но в результате грузится excel, а тот xml файл, который я ему передаю, выглядит как в обычном текстовом редакторе — c тэгами. Что я не так делаю?
Re[3]: Export DataTable в Excel.
От: Gollum Россия  
Дата: 22.12.03 06:08
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Но в результате грузится excel, а тот xml файл, который я ему передаю, выглядит как в обычном текстовом редакторе — c тэгами. Что я не так делаю?


Так может быть xml неправильно оформлен? Он же там должен быть со спец. схемой и все такое. Где-то в мсдн лежало описание этого формата.
В лучших книгах всегда нет имен, и в лучших картинах — лиц
Eugene Agafonov on the .NET

Re[4]: Export DataTable в Excel.
От: Аноним  
Дата: 22.12.03 07:54
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, <Аноним>, Вы писали:


А>>Но в результате грузится excel, а тот xml файл, который я ему передаю, выглядит как в обычном текстовом редакторе — c тэгами. Что я не так делаю?


G>Так может быть xml неправильно оформлен? Он же там должен быть со спец. схемой и все такое. Где-то в мсдн лежало описание этого формата.


Когда я сохраняю при помощи DataSet.WriteXml() в файл и открываю в excele, выглядит совсем иначе — без тэгов.
Re: Export DataTable в Excel.
От: ZevS  
Дата: 24.12.03 09:38
Оценка:
Попробуй так:

http://www.codeproject.com/asp/dynamicexcel.asp
Re[5]: Export DataTable в Excel.
От: Gollum Россия  
Дата: 02.01.04 20:26
Оценка:
Здравствуйте, <Аноним>, Вы писали:

G>>Так может быть xml неправильно оформлен? Он же там должен быть со спец. схемой и все такое. Где-то в мсдн лежало описание этого формата.


А>Когда я сохраняю при помощи DataSet.WriteXml() в файл и открываю в excele, выглядит совсем иначе — без тэгов.


решилась проблема?
... << RSDN@Home 1.1.2 beta 1 >>
Eugene Agafonov on the .NET

Re[2]: Export DataTable в Excel.
От: Фёдор Скворцов Россия  
Дата: 04.01.04 10:20
Оценка:
Здравствуйте, ZevS, Вы писали:

ZS>Попробуй так:


ZS>http://www.codeproject.com/asp/dynamicexcel.asp


Это действительно самый простой подходю Обратите внимаение что через HTML можно выводить не только самый простые таблицы, но и тафлицы с форматированием, формулами и.т.д....
Спасибо,
Фёдор Скворцов.
Re[6]: Export DataTable в Excel.
От: Аноним  
Дата: 08.01.04 16:00
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, <Аноним>, Вы писали:


G>>>Так может быть xml неправильно оформлен? Он же там должен быть со спец. схемой и все такое. Где-то в мсдн лежало описание этого формата.


А>>Когда я сохраняю при помощи DataSet.WriteXml() в файл и открываю в excele, выглядит совсем иначе — без тэгов.


G>решилась проблема?


нет, после праздников вышел, опять буду мучаться с ней
Re[3]: Export DataTable в Excel.
От: SunComp  
Дата: 09.01.04 06:44
Оценка:
Здравствуйте, Алексей Одинцов, Вы писали:

АО>Здравствуйте, Gollum, Вы писали:

G>>а) Excel 2003 понимает XML, предложить клиенту поставить 2003 офис.
АО>не выход.


А почему никто не вспомнил что Excel (причем не только 2003) понимает HTML?
Лично я использую эту возможность для експорта в Excel содержимого страницы на клиенте (клиентский скрипт). Но дуаю что и на сервере это сделать(сформировать HTML из DataTable) не проблема
Re[3]: Export DataTable в Excel.
От: Аноним  
Дата: 10.01.04 17:43
Оценка:
Здравствуйте, Фёдор Скворцов, Вы писали:

ФС>Здравствуйте, ZevS, Вы писали:


ZS>>Попробуй так:


ZS>>http://www.codeproject.com/asp/dynamicexcel.asp


ФС>Это действительно самый простой подходю Обратите внимаение что через HTML можно выводить не только самый простые таблицы, но и тафлицы с форматированием, формулами и.т.д....


Подскажите пожалуйста, мне эти тэги вручную нужно создавать и выводить в поток или в ASP.NET есть что-то, что может упростить формирование такой таблицы?
Re[4]: Export DataTable в Excel.
От: Аноним  
Дата: 11.01.04 14:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Фёдор Скворцов, Вы писали:


ФС>>Здравствуйте, ZevS, Вы писали:


ZS>>>Попробуй так:


ZS>>>http://www.codeproject.com/asp/dynamicexcel.asp


ФС>>Это действительно самый простой подходю Обратите внимаение что через HTML можно выводить не только самый простые таблицы, но и тафлицы с форматированием, формулами и.т.д....


А>Подскажите пожалуйста, мне эти тэги вручную нужно создавать и выводить в поток или в ASP.NET есть что-то, что может упростить формирование такой таблицы?


Пока нашел только HtmlTextWriter, а еще что-нибудь в этом роде есть или его вполне хватит для создания таблицы?
Re[5]: Export DataTable в Excel.
От: Аноним  
Дата: 11.01.04 15:04
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте, Фёдор Скворцов, Вы писали:


ФС>>>Здравствуйте, ZevS, Вы писали:


ZS>>>>Попробуй так:


ZS>>>>http://www.codeproject.com/asp/dynamicexcel.asp


ФС>>>Это действительно самый простой подходю Обратите внимаение что через HTML можно выводить не только самый простые таблицы, но и тафлицы с форматированием, формулами и.т.д....


А>>Подскажите пожалуйста, мне эти тэги вручную нужно создавать и выводить в поток или в ASP.NET есть что-то, что может упростить формирование такой таблицы?


А>Пока нашел только HtmlTextWriter, а еще что-нибудь в этом роде есть или его вполне хватит для создания таблицы?


нашел System.Web.UI.WebControls.Table
Re[4]: Export DataTable в Excel.
От: Аноним  
Дата: 27.01.04 13:56
Оценка:
Здравствуйте, SunComp, Вы писали:

SC>Здравствуйте, Алексей Одинцов, Вы писали:


АО>>Здравствуйте, Gollum, Вы писали:

G>>>а) Excel 2003 понимает XML, предложить клиенту поставить 2003 офис.
АО>>не выход.


SC>А почему никто не вспомнил что Excel (причем не только 2003) понимает HTML?

SC>Лично я использую эту возможность для експорта в Excel содержимого страницы на клиенте (клиентский скрипт). Но дуаю что и на сервере это сделать(сформировать HTML из DataTable) не проблема

SunComp, скажи, а ты не пробовал добавлять в сгенерированный HTML для excela стиль, чтобы например, одна из колонок воспринималась excelем как колонка со значением DateTime?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.