cjmanish Ответов: 1

Как вызвать функцию excel в VB.NET 2010 год


Я хочу использовать функцию XIRR Excel из VB.Net 2010 год. Может ли кто-нибудь сказать мне, как это сделать? Пожалуйста, помогите мне, это немного срочно. Я попробовал приведенный ниже код, но я получаю ошибку как "Метод XIRR класса worksheetfunction не удался"

Что я уже пробовал:

Это код, который я использовал
Импорт Excel = Microsoft.Офис.Взаимодействие.Превосходить

Публичный Класс Class1
Dim excelapp как новый Excel.Приложение

Частная Подпрограммы Sub1
Дим Кламтар Как ArrayList
Dim DtArr Как ArrayList
ClAmtArr = Новый ArrayList()
DtArr = Новый ArrayList()
Для каждой строки как DataRow в ds_record.Таблицы (0). Строки
ClAmtArr.Добавить(-dbl_ClSellAmt)
dtArr.Добавить(функция formatdatetime(строки.пункт("PayinDate"),параметра dateformat.ShortDate))
dbl_TotAmt=dbl_TotAmt+dbl_SellAmt
Следующий
ClAmtArr.Добавить(dbl_TotAmt)
dtArr.Добавить(dtb_asOnDate.Ценность)
excelapp = новый Excel.Приложение()
dbl_AnnualRet = excelapp.Функция рабочего листа.Xirr(ClAmtArr, DtArr)
Конец Подводной Лодки

Конец Класса

Richard MacCutchan

Значения, которые вы передаете функции, должны быть диапазонами на листе. Библиотека Excel не имеет доступа к памяти вашего приложения.

1 Ответов

Рейтинг:
1

Richard Deeming

Вместо того, чтобы позвонить в Excel, было бы лучше, чтобы переопределить функцию в .Net код.

Существует несколько реализаций C# в этот поток StackOverflow[^]. Вы можете либо создать библиотеку C# и вызвать ее из своего VB.NET код или преобразуйте код C# в VB.NET если потребуется.