SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




SP 2010 und Microsoft.Office.Interop

Geprüfte Antwort Dieser Beitrag hat 6 Antworten

Ohne Rang
58 Beiträge
cwicky erstellt 16 Aug. 2012 09:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe mal wieder eine Frage.

Wann kann man auf dem SP 2010 auf die Interop-Bibliotheken zurückgreifen?

Ich habe folgendes Szenario:

In einer Bibliothek liegen Excel-Dateien. Aus diesen möchte ich gerne eine csv-Datei generieren. Daher dachte ich mir, ich schreibe mir auf meinem SP Entwicklungrechner eine Konsolenanwendung, welche die Interop-Bib nutzt, um die entsprechenden Tabellenblätter auszulesen und in eine neues Worbook kopiere und dieses dann als csv speichere.
Ich habe mich für eine Konsolenanwendung entschieden, weil ich daraus eine exe-Datei machen kann, um diese dann bei manuellen starten eines WF's in den WF einbinden kann.
Wollte via Netzwerkpfad auf die Bib zugrefien.

Leider funzt dieser Ansatz nicht, da ich das Worbook nicht öffnen kann.

Deshalb meine Frage, ab wann greifen die Interop-Bibliotheken? Erst wenn ich mich auif einer Website innerhalb von SP befinde?

Würde mein Problem jetzt mit XML lösen, oder hat jemand eine bessere Idee?

Danke im Voraus!

Schöne Grüße
cwicky

Alle Antworten

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 16 Aug. 2012 13:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

die Interop-Assembly benötigen immer eine Office Installation auf dem Server. Wenn du versuchst auf dem Server über einen UNC Pfad zuzugreifen benötigst du dafür die Desktop Features am Server (WebDAV Client) und die URL ist auch etwas anders als im Browser. Versuch es lieber über die HTTP Adresse, ob das die Interop Komponenten unterstützen kann ich so nicht sagen man könnte diese ja ohne weiteres herrunterladen (SharePoint API oder .Net API).

Ein weiterer Weg (ohne vermuttlichen Lizenzverstoß, da Office Benutzerlizenz und Server kein Benutzer / viele Benutzer ala Terminalservices ....) wäre es über das OpenXML Format zu lösen.

http://msdn.microsoft.com/en-us/library/office/aa338205(v=office.12).aspx

Ohne Rang
58 Beiträge
cwicky Als Antwort am 17 Aug. 2012 18:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

danke für die Antwort.
Hatte ich bereits schon als Lösung implementiert. Eine andere alternative wären die ExcelServices als Webverweis einzubinden.

Ich habe aber jetzt ein anderes Problem:
Wie greife ich per OleDbConnection auf ein SharePoint Dokument zu? Als Parameter ist eine String-Pfadangabe gefordert.

Meine Lösung wäre etwas komisch, ich würde die Dokumente in ein temporäres Verzeichnis packen, dann darauf zugreifen.

Die Anwendung soll auf dem Server laufen. Leider kann ich dort keine Netzlaufwerkverbindung zum Server machen. Findet er irgendwie nicht:-(

Hast Du vielleicht ein Idee?

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 17 Aug. 2012 19:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="cwicky"]

Ich habe aber jetzt ein anderes Problem:

Wie greife ich per OleDbConnection auf ein SharePoint Dokument zu? Als Parameter ist eine String-Pfadangabe gefordert.

[/quote]

wieso eine OleDb Verbindung? Ist deine Lösung auf einen SPServer oder nicht?

Wenn ja kannst du einfach dein Stream (SPFile) von deiner Datei über die API holen.

http://msdn.microsoft.com/en-us/library/ms476063.aspx

Als link musst du immer die Server relative URL angeben. Wenn du die Datei speichern möchtest kannst genauso Vorgehen da SPFile.Exist geprüft werden kann ob sie existiert und dann über SPFile.SaveBinary

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 17 Aug. 2012 19:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="cwicky"]

Die Anwendung soll auf dem Server laufen. Leider kann ich dort keine Netzlaufwerkverbindung zum Server machen. Findet er irgendwie nicht:-(

Hast Du vielleicht ein Idee?

[/quote]

Ja, du benötigst die Desktop Features auf den Server (servermanager)

Ohne Rang
58 Beiträge
cwicky Als Antwort am 17 Aug. 2012 20:16
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke, funktioniert!

Wäre ich nie drauf gekommen. Was haben die Desktop-Features damit zu tun?

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 17 Aug. 2012 20:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich denke es ist der webclient Service