Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Сильверлайт - экспорт в эксель / 25 сообщений из 28, страница 1 из 2
19.01.2011, 14:06
    #37066724
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Доброго времени суток.
такая проблема:
Стоит VS 2010 Ultimate + SL4 + Office2003.
Пытаюсь сделать экспорт в эксель.
на этом
Код: plaintext
dynamic excel = AutomationFactory.CreateObject("Excel.Application");
выдается ошибка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
System.NotSupportedException не обработано пользовательским кодом
  Message=Эта операция не поддерживается в текущем контексте.
  StackTrace:
       в MS.Internal.Error.MarshalXresultAsException(UInt32 hr, COMExceptionBehavior comExceptionBehavior)
       в MS.Internal.XcpImports.CheckHResult(UInt32 hr)
       в MS.Internal.ComAutomation.ComAutomationNative.CreateObject(String progID, IntPtr& nativeObject)
       в MS.Internal.ComAutomation.ComAutomationServices.CreateObject(String progID, ComAutomationParamWrapService paramWrapService)
       в System.Runtime.InteropServices.Automation.AutomationFactory.CreateObject(String progID)
       в BusinessApplication4.Views.Page1.button2_Click(Object sender, RoutedEventArgs e)
       в System.Windows.Controls.Primitives.ButtonBase.OnClick()
       в System.Windows.Controls.Button.OnClick()
       в System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
       в System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
       в MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)
  InnerException: 
Может кто знает в чем проблема?
...
Рейтинг: 0 / 0
19.01.2011, 14:48
    #37066847
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Экспорт в Excel из Silverlight/WPF DataGrid
оттуда:
Для Silverlight нужно учитывать, что работать с AutomationFactory возможно только для доверенных приложений (необходимо установить в настройках проекта), запущенных в out-of-browser режиме, а проверять возможность использования можно при помощи свойства AutomationFactory.IsAvailable.
...
Рейтинг: 0 / 0
19.01.2011, 15:48
    #37067061
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Флажок стоит.
Эту инструкцию (как и множество подобных) я читал.
ошибка возникает на строке
Код: plaintext
dynamic excel = AutomationFactory.CreateObject("Excel.Application");
...
Рейтинг: 0 / 0
19.01.2011, 15:56
    #37067100
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
а AutomationFactory.IsAvailable==true в этом месте?
...
Рейтинг: 0 / 0
19.01.2011, 16:18
    #37067192
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
LRа AutomationFactory.IsAvailable==true в этом месте?
Вооо. Отсюда плиз поподробнее. Где это нужно указать?
...
Рейтинг: 0 / 0
19.01.2011, 16:21
    #37067205
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Посмотрел. Оно стоит False.
Как его в true перевести?
...
Рейтинг: 0 / 0
19.01.2011, 16:24
    #37067213
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Галки запускать вне браузера и требовать повышенный уровень доверия стоят
...
Рейтинг: 0 / 0
19.01.2011, 16:45
    #37067278
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Я походу как-то не то спрашиваю.
Вот если запускать приложение вне браузера, то эксель запускается.
Меня интересует, как его можно из браузера запустить? или пока что это нереально?
...
Рейтинг: 0 / 0
19.01.2011, 16:45
    #37067279
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Andrewd,

может ...запущенных в out-of-browser режиме... ?
из примера (что в той статье)
Код: plaintext
1.
2.
3.
4.
if (!AutomationFactory.IsAvailable)
        MessageBox.Show("Install app on your box first.");
else { // рабочий режим
       dynamic excel = AutomationFactory.CreateObject("Excel.Application");
...
...
Рейтинг: 0 / 0
19.01.2011, 16:46
    #37067284
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
AndrewdВот если запускать приложение вне браузера, то эксель запускается.
Меня интересует, как его можно из браузера запустить? или пока что это нереально?
получается, что только вне браузера...
...
Рейтинг: 0 / 0
19.01.2011, 16:55
    #37067312
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Спасибо.
Такая креативная вещь и такая засада по итогу...
...
Рейтинг: 0 / 0
19.01.2011, 17:06
    #37067354
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
наверное так правильно, с точки зрения безопасности
...
Рейтинг: 0 / 0
19.01.2011, 17:14
    #37067392
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Безопасность это конечно хорошо... Но еще и отчеты нужны...
...
Рейтинг: 0 / 0
19.01.2011, 20:09
    #37067779
Denis Gladkikh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Andrewd,

такие отчеты лучше на сервере строить ;) а если нужен простой отчет, тогда вперед делать xml файл обычный и его подменять под Excel, такое тоже работает.
...
Рейтинг: 0 / 0
20.01.2011, 06:33
    #37068171
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Denis GladkikhAndrewd,

такие отчеты лучше на сервере строить ;) а если нужен простой отчет, тогда вперед делать xml файл обычный и его подменять под Excel, такое тоже работает.

Можете подробнее рассказать об этом или ссылку на почитать?
...
Рейтинг: 0 / 0
20.01.2011, 09:14
    #37068281
Denis Gladkikh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Andrewd,

откройте Excel, набейте что-нибудь, потом сделайте Save As.. а там XML Spreadsheet 2003. Ну и открывайте смотрите в notepad. Для простых отчетов все будет ок, а вот если там много разного форматирования, то и намучаетесь, да и может быть не получиться у вас что-нибудь.
...
Рейтинг: 0 / 0
20.01.2011, 09:54
    #37068349
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Ok.
А про формирование отчетов на серверной стороне?
...
Рейтинг: 0 / 0
20.01.2011, 10:18
    #37068404
Denis Gladkikh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
AndrewdOk.
А про формирование отчетов на серверной стороне?
На сервере можно через тот же COM, который в статье для WPF. А вот сама реализация: либо а) если отчеты не такие уж большие, не строятся долго по времени, то можно просто на сайте, где хоститься SL сделать один web-метод, который запускает генерацию отчета, а после того как сгенерировал - возвращает url на отчет, а url этот должен ссылаться на какой-нибудь RESTful сервис с WebGet методом, который и будет оттадать файл (Stream). б) тоже самое, но через какую-нибудь очередь задач, и отдельный WinService, если отчеты жрут много памяти, и занимают много времени.
...
Рейтинг: 0 / 0
20.01.2011, 11:24
    #37068606
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
до кучи - если на Office2003 накатить Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint File Formats то (на серверной стороне) можно будет использовать библиотеки, работающие с Open XML file format (коих существует уже немало), например ExcelPackage
...
Рейтинг: 0 / 0
20.01.2011, 11:38
    #37068658
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Denis GladkikhAndrewdOk.
А про формирование отчетов на серверной стороне?
На сервере можно через тот же COM, который в статье для WPF. А вот сама реализация: либо а) если отчеты не такие уж большие, не строятся долго по времени, то можно просто на сайте, где хоститься SL сделать один web-метод, который запускает генерацию отчета, а после того как сгенерировал - возвращает url на отчет, а url этот должен ссылаться на какой-нибудь RESTful сервис с WebGet методом, который и будет оттадать файл (Stream). б) тоже самое, но через какую-нибудь очередь задач, и отдельный WinService, если отчеты жрут много памяти, и занимают много времени.
Не подскажете ссылку, на скринкаст или статью, как это делается?
...
Рейтинг: 0 / 0
20.01.2011, 11:43
    #37068679
Denis Gladkikh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Andrewd,

этого не видел
...
Рейтинг: 0 / 0
20.01.2011, 11:53
    #37068707
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
PS.
Отчеты не сильно здоровые.
...
Рейтинг: 0 / 0
20.01.2011, 12:35
    #37068821
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Честно говоря, в этих технологиях полный новичок.
До этого Delphi +SQL Server и как максимум Windows Forms.
Поэтому для меня загадка все что связано с серверной и клиентской стороной. Используя RIA WCF получилось подконнектится к SQl Server ну и там добавлять удалять данные))
А вот отчеты какая-то полная засада.
...
Рейтинг: 0 / 0
20.01.2011, 12:55
    #37068902
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
как вариант - купить какой-нить генератор отчетов, например Мощный и надежный генератор отчетов для Silverlight Report Sharp-Shooter ;)
...
Рейтинг: 0 / 0
20.01.2011, 12:56
    #37068910
__ЛП
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сильверлайт - экспорт в эксель
Andrewdполучилось подконнектится к SQl Server...
А вот отчеты какая-то полная засада.
Откройте для себя MS SQL Server Reporting Services хотя бы. Чтоб велосипеды не изобретать.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Сильверлайт - экспорт в эксель / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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