Есть какой-то способ вставки в range массива, как это было возможно с COM?
Вот пример для COM, он работает:
X++:
ComExcelDocument_RU comExcel;
ArrayExtend_RU arrayStr = new ArrayExtend_RU(Types::String, 10);
;
comExcel = new ComExcelDocument_RU();
comExcel.newFile("", false);
arrayStr = new ArrayExtend_RU(Types::String, 2);
arrayStr.value(1, "AAA");
arrayStr.value(2, "БББ");
comExcel.insertValue("A1:B1", arrayStr);
comExcel.visible(true);
А для .NET не работает:
X++:
SysExcelApplication_NET sysExcelApplication;
SysExcelWorksheet_NET sysExcelWorksheet;
SysExcelRange_NET range;
ArrayExtend_RU arrayStr = new ArrayExtend_RU(Types::String, 10);
;
sysExcelApplication = SysExcelApplication_NET::construct();
sysExcelApplication.workbooks().add("");
sysExcelWorksheet = sysExcelApplication.worksheets().itemFromNum(1);
arrayStr = new ArrayExtend_RU(Types::String, 2);
arrayStr.value(1, "AAA");
arrayStr.value(2, "БББ");
range = sysExcelWorksheet.range("A1:B1");
range.value2(arrayStr);
sysExcelApplication.visible(true);
Пытался различными способами передать массив, прямая передача или упаковка через CLRInterop::getObjectForAnyType(arrayStr ) выдает ошибку о невозможности преобразования.