Hat Silverlight 3 Zugriff auf das lokale Dateisystem, Excel öffnen und Berichte drucken?

8

Ich frage mich, ob Silverlight 3 verwendet werden kann, um Branchenanwendungen zu erstellen, wo ich Datei Import / Export-Einrichtungen verwenden kann, lesen Sie eine XLS-Datei und Excel öffnen, verwenden Sie ein Berichtstool wie Crsytal Reports oder Reporting Services oder .. ist WPF benötigt?

Ich bin neu bei Silverlight und WPF und möchte entscheiden, ob ich WPF überspringen kann. Ich weiß, dass Silverlight eine Teilmenge von WPF ist, aber ich möchte mich nur auf eines der beiden konzentrieren.

    
Tony_Henrich 18.07.2009, 18:14
quelle

6 Antworten

9

Obwohl Silverlight Sand-Box ist und es nicht möglich ist, Dateien direkt im lokalen Dateisystem zu öffnen und zu speichern, ist es möglich, einen Stream in eine lokale Datei zu bekommen.

Es gibt OpenFileDialog und < a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.savefiledialog (VS.95) .aspx"> SaveFileDialog Klassen. Diese Klassen ermöglichen es dem Benutzer, eine Datei oder einen Speicherort auszuwählen. Sie geben nur einen Stream an diese Datei zurück und geben keine Informationen über das Dateisystem. Auf diese Weise können Sie beispielsweise nach Excel importieren und exportieren.

Dieses Beispiel sollte ausreichen, um Sie in Schwung zu bringen.

aktualisieren : In der Zwischenzeit habe ich einen kleinen SilverBullet (tm) zum Thema auf meinem Blog in Ссылка gemacht

    
Sorskoot 19.07.2009, 22:19
quelle
2

Silverlight 3 hat ziemlich eingeschränkten Zugriff auf das Dateisystem. Obwohl Sie eine lokale Datei speichern können, können Sie sie nicht direkt mit der zugehörigen Anwendung von Silverlight aus öffnen. Wenn Sie möchten, dass der Benutzer eine Excel-Datei über einen Button in Silverlight exportiert und öffnet, müssen Sie Alternativen in Betracht ziehen:

  • Sie können ein neues Browserfenster öffnen, das auf eine URL auf Ihrem Webserver verweist, die eine Excel-Datei generiert. Wenn der Server den richtigen Inhaltstyp festlegt und der Client ordnungsgemäß konfiguriert ist, wird der Benutzer aufgefordert, die Datei in Excel zu öffnen. Dadurch wird Ihr Exportcode effektiv auf den Server verschoben.
  • Sie können ein ActiveX-Steuerelement auf derselben Seite wie das Silverlight-Steuerelement einbetten und das Browserobjekt verwenden, mit dem Sie dieses ActiveX-Steuerelement von Silverlight aus steuern können. Wenn der Benutzer genügend Rechte hat, kann das ActiveX-Steuerelement alles auf dem lokalen Computer ausführen, einschließlich der Automatisierung von Excel.
Martin Liversage 11.09.2009 07:34
quelle
2

Nein, aber anscheinend funktioniert SL4!

Lokaler Dateizugriff - Silverlight 4

    
Emrah Diril 10.12.2009 02:17
quelle
1

Nein, aber im Gegensatz zu Jimmy ist es wahrscheinlich, dass es in Zukunft nicht mehr passieren wird. Wenn Sie ein lokales System benötigen, müssen Sie andere Technologien verwenden (z. B. einen lokalen Windows-Dienst, der mit der Silverlight-App kommunizieren kann).

Der Grund, warum silverlight in naher Zukunft keinen lokalen Zugriff hat, ist, dass Microsoft gelernt hat, dass es eine Lektion mit ActiveX ist.

    
Jarek Kardas 18.07.2009 20:01
quelle
0

Nein, soweit ich weiß, ist Silverlight 3 immer noch wie Sandkasten. Dies wird jedoch zu einem Flaschenhals für Entwickler, daher bin ich mir sicher, dass dies in zukünftigen Versionen von Silverlight angesprochen werden wird.

    
Jimmy 18.07.2009 18:23
quelle
0

Soweit ich weiß, unterstützt SL3 die Verwendung von COM-Anwendungen wie Word, Excel usw., aber SL4 tut es. Wenn Ihre Anwendung nur intern verwendet wird, ist WPF der beste Kandidat für Ihr Projekt, aber wenn Sie möchten, dass es auch von externen Clients verwendet wird, dann können Sie SL4 verwenden und dann OUT OF BROWSER verwenden Es wird mit WPF sehr ähnlich funktionieren. Außerdem können Sie mit SL4 mit Excel, Word usw. interagieren, um viele Dinge zu tun.

Prost, Brandon

    
Brandon Truong 10.12.2009 05:32
quelle