/ / Môžem použiť Microsoft.Office.Tools.Excel v projekte Excel DNA, alebo existuje iný spôsob, ako dosiahnuť databinding tabuľky? - excel, excel-dna

Môžem použiť Microsoft.Office.Tools.Excel v projekte Excel DNA, alebo existuje iný spôsob, ako dosiahnuť databinding tabuľky? - excel, excel-dna

Mám kód, ktorý pracoval vo verzii VSTO programu Excel Addin

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

Používal som tento API, pretože jeho deklaratívna syntax databinding. Aplikácia API programu Excel.Interop nemala metódy ako AutoSetDataBoundColumnHeaders.

Ak môžem dostať Microsoft.Office.Tools.Excel.ListObject importované, ako vyriešim kolekciu Kontroly, na ktorú volám AddListObject bez VSTO vecí v programe Excel DNA?

Akékoľvek riešenie by bolo pekné, aj keby to znamenalo vyradenie môjho kódu, ale vo všeobecnosti by som chcel pochopiť, kedy použiť API vo vnútri DNA programu Excel, aby som dosiahol túto databázu.

odpovede:

3 pre odpoveď č. 1

VSTO pridá niektoré rozšírenia na vrchol programu Excelobjektový model. Nemám žiadne skúsenosti s VSTO a pre veci ako ListObjects nemôžem povedať, kde sa skončí objektový model programu Excel a začnú sa rozšírené objekty wrapperu VSTO.

Hranica je v podstate toto: Microsoft.Office.Interop.Excel možno použiť z Excel-DNA (takže toto je rozhranie ListObject, ktoré môžete použiť: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.listobject_members.aspx). Microsoft.Office.Tools.Excel je súčasťou VSTO.

Taktiež nemám ani tušenie, či sa môžu knižnice VSTO použiť spolu s programom Excel-DNA. Problémom by bolo, že by sa knižnice VSTO inicializovali a pripojili - môže to byť zložité.

Možno to stojí za to, aby ste sa pokúsili opätovne implementovať tieto rozšírenia objektových modelov sami na vrchole objektu modelu Excel. Nemyslím si, že VSTO robí čokoľvek, čo by si nemohla urobiť.