/ / Puis-je utiliser Microsoft.Office.Tools.Excel dans un projet ADN Excel ou existe-t-il un autre moyen d'accomplir la liaison de données d'une table? - Excel, Excel-ADN

Puis-je utiliser le projet Microsoft.Office.Tools.Excel dans Excel DNA ou existe-t-il un autre moyen de réaliser une liaison de données à une table? - excel, excel-dna

J'ai du code qui a fonctionné dans la version VSTO d'un complément Excel

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

J'utilisais cette API parce que sa syntaxe déclarative de liaison de données. Et l’API Excel.Interop n’avait pas de méthodes telles que AutoSetDataBoundColumnHeaders ..

Si je peux importer Microsoft.Office.Tools.Excel.ListObject, comment puis-je résoudre la collection Controls sur laquelle j'appelle AddListObject sans les éléments VSTO dans Excel DNA?

Toute solution serait agréable, même si cela impliquait de supprimer mon code, mais en général, je voudrais comprendre quand utiliser quelle API dans Excel DNA afin de réaliser ce type de liaison de données.

Réponses:

3 pour la réponse № 1

VSTO ajoute des extensions par-dessus Excelmodèle d'objet. Je n’ai aucune expérience de VSTO, et pour des choses comme ListObjects, je ne peux pas dire où se trouve le modèle objet d’Excel et où commencent les objets d’enveloppe VSTO étendus.

La limite est fondamentalement la suivante: Microsoft.Office.Interop.Excel peut être utilisé à partir d'Excel-DNA (il s'agit donc de l'interface ListObject que vous pouvez utiliser: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.listobject_members.aspx). Microsoft.Office.Tools.Excel fait partie de VSTO.

De plus, je ne sais vraiment pas si les bibliothèques VSTO peuvent être utilisées avec Excel-DNA. Le problème serait que les bibliothèques VSTO soient initialisées et reliées - cela pourrait être délicat.

Cela peut valoir la peine d'essayer de réimplémenter vous-même ces extensions de modèle d'objet, en plus du modèle d'objet Excel. Je ne pense pas que VSTO fasse quelque chose que vous ne pourriez pas faire vous-même.