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.




Verwendung von Excel im Eventreceiver

Dieser Beitrag hat 5 Antworten

Ohne Rang
455 Beiträge
Andreas St. erstellt 9 Okt. 2013 09:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo, ich habe einmal folgendes probiert und es scheitert beim Öffnen der Excel-Datei.

 

An einer Liste habe ich einen Eventreceiver (C#) gehängt. Innerhalb des ER soll eine Excel-Datei mit den Eingaben der Liste befüllt werden.

Nur leider kommt es beim Öffnen der Excel-Datei zu einem Fehler. Lasse ich den Code-Ausschnitt in einer Consolen-Anwendung laufen, so funktioniert der Excel-Seitige Teil.

Gibt es irgendwelche Einschränkungen im ER?

 

Gruß und Danke!

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Okt. 2013 09:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Für EventReceiver gelten hier keine Besonderheiten. Wo liegt denn die Exceldatei? Ist es ein Berechtigungsproblem? Oder versuchen mehrere EventReceiver gleichzeitig auf die Datei zuzugreifen? Oder brauchst Du zum Öffnen der Exceldatei irgendwelche Zusatzkomponenten, die dem EventReceiver fehlen?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
455 Beiträge
Andreas St. Als Antwort am 9 Okt. 2013 09:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

ich habe die Excel-Datei einmal zum Test auf einen FileServer gelegt.

im Moment wird tatsächlich nur eine Instanz des ER ausgeführt. Somit kann ich ein gleichzeitiges Zugreifen ausschließen.

Was meinst Du mit Zusatzkomponenten?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Okt. 2013 09:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andreas St."]ich habe die Excel-Datei einmal zum Test auf einen FileServer gelegt[/quote]

Dann ist das ziemlich sicher ein Berechtigungsproblem. Oder der Pfad ist aus dem Kontext des Webservers einfach nicht erreichbar. Beim Debuggen solltest Du das aber leicht herausfinden können.

[quote user="Andreas St."]Was meinst Du mit Zusatzkomponenten?[/quote]

Exceldateien sind ja mit Bordmitteln nicht so einfach zu berabeiten und deshalb werden gerne irgendwelche Komponenten von Drittanbietern verwendet.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
455 Beiträge
Andreas St. Als Antwort am 9 Okt. 2013 11:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hier einmal der Codeausschnitt:

 

                    Microsoft.Office.Interop.Excel.Application excel = null;
                    Workbook wb = null;

                    excel = new Microsoft.Office.Interop.Excel.Application();
                    excel.Visible = true;
                    string workbookpath = @"http://server/Freigegebene%20Dokumente/test.xlsx";

      wb = excel.Workbooks.Open(workbookpath, 0, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

                    Sheets sheets = wb.Worksheets;
                    Worksheet ws = (Worksheet)sheets.get_Item("Sheet1");

                    Range range = (Range)ws.get_Range("A1", "A1");

                    excel.Quit();
                    excel = null;

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Okt. 2013 11:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andreas St."]Microsoft.Office.Interop.Excel.Application excel [/quote]

Also doch Zusatzkomponenten ;-)

Diese Office-Interop Assemblies sind auf einem SharePoint Server normalerweise nicht vorhanden. Und soweit ich weiß, reichen die alleine auch nicht aus, sondern sie benötigen ein installiertes Office (das auf einem Server absolut nichts verloren hat).

Viele Grüße
Andi
af @ evocom de
Blog