/ / Kann ich Microsoft.Office.Tools.Excel im Excel-DNA-Projekt verwenden, oder gibt es eine andere Möglichkeit, eine Tabelle zu erstellen? - Excel, Excel-Dna

Kann ich Microsoft.Office.Tools.Excel im Excel-DNA-Projekt verwenden oder gibt es eine andere Möglichkeit, eine Tabelle zu datenbindend zu machen? - Excel, Excel-Dna

Ich habe Code, der in der VSTO-Version eines Excel-Addins funktioniert

Microsoft.Office.Tools.Excel.ListObject lo = Globals.ThisAddIn.VSTOWorksheet.Controls.AddListObject(r, "lo1");
lo.AutoSetDataBoundColumnHeaders = true;
lo.DataSource = dt; //some DataTable

Ich habe diese API wegen ihrer deklarativen Datenbindungssyntax verwendet. Und die Excel.Interop API hatte keine Methoden wie AutoSetDataBoundColumnHeaders.

Wenn ich Microsoft.Office.Tools.Excel.ListObject importieren kann, wie werde ich die Controls-Auflistung, auf der ich AddListObject ohne das VSTO-Zeug in Excel DNA aufrufe, auflösen?

Jede Lösung wäre nett, auch wenn es um die Verschrottung meines Codes geht, aber im Allgemeinen würde ich gern verstehen, wann ich welche API in Excel DNA verwenden sollte, um diese Databinding-Aufgaben zu erledigen.

Antworten:

3 für die Antwort № 1

VSTO fügt einige Erweiterungen auf dem Excel hinzuObjektmodell. Ich habe keine Erfahrung mit VSTO, und für Dinge wie die ListObjects kann ich nicht sagen, wo das Excel-Objektmodell endet und die erweiterten VSTO-Wrapper-Objekte starten.

Die Grenze ist im Grunde genommen: Microsoft.Office.Interop.Excel kann von Excel-DNA verwendet werden (also das ist die ListObject-Schnittstelle, die Sie verwenden können: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.listobject_members.aspx). Microsoft.Office.Tools.Excel ist Teil von VSTO.

Ich habe auch keine Ahnung, ob die VSTO-Bibliotheken zusammen mit Excel-DNA verwendet werden können. Das Problem wäre, dass die VSTO-Bibliotheken initialisiert und angeschlossen werden - das könnte schwierig sein.

Es kann sich für Sie lohnen, zu versuchen, diese Objektmodellerweiterungen selbst über das Excel-Objektmodell hinaus zu implementieren. Ich glaube nicht, dass VSTO etwas tut, was Sie selbst nicht tun könnten.