Имеет ли Silverlight 3 доступ к локальной файловой системе, Open Excel и печати отчетов? - PullRequest
8 голосов
/ 18 июля 2009

Мне было интересно, можно ли использовать Silverlight 3 для создания линейных бизнес-приложений, в которых я могу использовать средства импорта / экспорта файлов, прочитать файл xls и открыть Excel, использовать инструмент отчетов, такой как Crsytal Reports или Reporting Services или ... is Нужен WPF?

Я новичок в Silverlight и WPF и хочу решить, смогу ли я пропустить изучение WPF. Я знаю, что Silverlight является подмножеством WPF, но я просто хочу сосредоточиться на одном из двух.

Ответы [ 6 ]

9 голосов
/ 20 июля 2009

Несмотря на то, что Silverlight находится в «песочнице» и невозможно напрямую открывать и сохранять файлы в локальной файловой системе, можно получить поток в локальный файл.

Есть классы OpenFileDialog и SaveFileDialog . Эти классы позволяют пользователю выбрать файл или местоположение. Они возвращают только поток в этот файл и не дают никакой информации о файловой системе. Таким образом, можно импортировать и экспортировать, например, в Excel.

Этого примера должно быть достаточно для начала работы.

обновление : тем временем я сделал небольшую SilverBullet (тм) на эту тему в своем блоге на http://www.timmykokke.com/

2 голосов
/ 10 декабря 2009

Нет, но, очевидно, SL4 делает!

Локальный доступ к файлам - Silverlight 4

2 голосов
/ 11 сентября 2009

Silverlight 3 имеет довольно ограниченный доступ к файловой системе. Несмотря на то, что вы можете сохранить локальный файл, вы не можете открыть его с помощью соответствующего приложения непосредственно из Silverlight. Если вы хотите, чтобы пользователь экспортировал и открыл файл Excel нажатием кнопки в Silverlight, вам нужно будет рассмотреть альтернативы:

  • Вы можете открыть новое окно браузера, указывающее на URL на вашем веб-сервере, который генерирует файл Excel. Если сервер устанавливает правильный тип контента и клиент правильно настроен, пользователю будет предложено открыть файл в Excel. Это эффективно перемещает ваш код экспорта на сервер.
  • Вы можете встроить элемент управления ActiveX на той же странице, что и элемент управления Silverlight, а с помощью объекта браузера вы можете управлять этим элементом управления ActiveX из Silverlight. При наличии достаточных прав пользователя элемент управления ActiveX может выполнять любые действия на локальном компьютере, включая автоматизацию Excel.
1 голос
/ 19 июля 2009

Нет, но в отличие от Джимми, я думаю, что этого не произойдет в будущем. Если вам нужна локальная система, используйте другие технологии (например, локальная служба Windows, которая может взаимодействовать с приложением Silverlight).

Причина, по которой Silverlight не будет иметь локального доступа в ближайшем будущем, заключается в том, что Microsoft усвоила урок по ActiveX.

0 голосов
/ 10 декабря 2009

Из того, что я знаю, SL3 поддерживает использование COM-приложений, таких как Word, Excel и т. Д., Но SL4 поддерживает. Если ваше приложение только для внутреннего использования, WPF будет лучшим кандидатом для вашего проекта, но если вы хотите, чтобы оно использовалось также и от внешних клиентов, то я считаю, что вы можете использовать SL4, затем использовать OUT OF BROWSER, затем это будет действительно похоже на WPF. Кроме того, с SL4 вы можете взаимодействовать с Excel, Word и т. Д. Для выполнения многих задач.

Ура, Brandon

0 голосов
/ 18 июля 2009

Нет, насколько я знаю, Silverlight 3 все еще в песочнице. Это становится узким местом для разработчиков, поэтому я уверен, что это будет исправлено в следующих версиях Silverlight.

...