Я конвертирую приложение VSTO в приложение, совместимое с ExcelDNA. Однако основная проблема заключается в том, что ExcelDNA не имеет объекта управления по сравнению с VSTO.
В VSTO: Microsoft.Office.Tools.Excel: вы можете добавить listObject
Worksheet worksheet = Globals.Factory.GetVstoObject(
Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[1]);
listObj = worksheet.Controls.AddListObject(cell, "list1");
Впоследствии вы можете установить источник данных
listObj.DataSource=list;
Однако, когда я попытался сделать это в ExcelDNA, используя Micosoft.Office.Interop.Excel, используя listObject. Я не могу получить желаемый результат, listObject вернул пустые данные.
ws=excelApp.ActiveWorkBook.ActiveSheet;
Excel.Range rng=ws.cells[1,1];
//set the datasource
rng.Value2=list;
listObj=this.ListObjects.Add(
Excel.XlListObjectSourceType.xlSrcRange, rng,Missing.Value,
Microsoft.Office.Interop.Excel.XlYesNoGuess.xlNo, Missing.Value);
Я не могу использовать Globals.Factory... так как это не программа VSTO. Таким образом, я придумал следующий обходной путь. Есть ли что-то, что я делаю неправильно? Я подозреваю, что проблема в ExcelDNA связана с источником данных.
Что я могу сделать, чтобы решить эту проблему? Как я могу преобразовать программу VSTO в эквивалент в ExcelDNA?