+49 (0)7531 906010| service@combit.net

Einbinden von Microsoft.Office.Interop.Excel für direkten Excel-Zugriff

Ich steh’ gerade vor dem Problem, das Daten aus einer Excel-Datei eingelesen werden sollen, diese aber vorher zwingend interpretiert werden müssen. D.h. ein Daten/Import mit combit Bordmitteln ist leider nicht möglich weil die Import-Bedingungen zu komplex sind.
Aus diesem Grund sollte die Excel-Datei über ein c#-Script Zeile für Zeile gelesen und passend verarbeitet werden - leider bekomme ich es nicht hin die passende Excel-dll einzubinden. In reinem c# funktioniert das ja mit

using System.Windows.Forms; using combit.cRM.COM; [b]using Microsoft.Office.Interop.Excel;[/b]
Das funktioniert aber so nicht in combit, da dies über #region/#endregion Visual Studio Only dort nicht zur Vefügung steht.
Im Script greift man dann später wie folgt zu:

Microsoft.Office.Interop.Excel.Application xlApp; Microsoft.Office.Interop.Excel.Workbook xlWorkBook; Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet; ...

In einem c#-Script für combit müsste man das dann eigentlich wir folgt einbinden

// <!--#include ref="System.Windows.Forms"--> // <!--#include using="System.Windows.Forms"--> // analog zu System.Windows.Forms funktioniert aber leider nicht [b]// <!--#include ref="Microsoft.Office.Interop.Excel"--> // <!--#include using="Microsoft.Office.Interop.Excel"-->[/b]

… muss hier ggf. noch ein direkter Pfad zur dll o.ä. eingegeben werden?
Wie müsste die korrekte Syntax lauten bzw. wie lautet der korrekt Link?
Ein Beispiel zum Includieren einer anderen dll würde wahrscheinlich auch schon helfen.

Gruß und besten Dank im voraus

Stephan

Hallo!
Kann es gerade nicht ausprobieren aber in der Doku steht das hier:

Über den Befehl

können einem Script externe Referenzen / Komponenten, wie z.B. die Windows Forms Bibliothek von Microsoft (System.Windows.Forms.dll), hinzugefügt werden.
Geben Sie keinen Pfad, sondern nur einen Dateinamen an, so wird versucht die Referenz aus dem „Global Assembly Cache“ zu laden.
Bei Angabe eines kompletten Pfads wird eine Kopie der Datei in einem temporären Ordner angelegt und von dort geladen.

Hoffe das hilft :slight_smile:

Gruß
Pit

Im SDK steht dazu:

[quote]1.4.10 Hinzufügen von Referenzen [C#]
Diese Option steht nur bei C#-Scripten zur Verfügung.
Über den Befehl können einem Script externe Referenzen / Komponenten, wie z.B. die Windows Forms Bibliothek von Microsoft (System.Windows.Forms.dll), hinzugefügt werden.
Geben Sie keinen Pfad, sondern nur einen Dateinamen an, so wird versucht die Referenz aus dem „Global Assembly Cache“ zu laden. Bei Angabe eines kompletten Pfads wird eine Kopie der Datei in einem temporären Ordner angelegt und von dort geladen.[/quote]

Mit folgendem Eintrag funktioniert es dann anscheinend:

// <!--#include ref="C:\Program Files (x86)\Microsoft Office\root\Office16\ADDINS\Microsoft Power Query for Excel Integrated\bin\Microsoft.Office.Interop.Excel.dll"--> // <!--#include using="Microsoft.Office.Interop.Excel"-->

So scheint es zu funktionieren, keine Ahnung warum das vorher nicht geklappt hat.

© combit GmbH