Worksheetfunction в Excel.итого, методом исключения ошибок в C#
//Referencing Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.WorksheetFunction xlWsf; //declaring a range xlRangeDB = sheet.get_Range("A1", "A1000"); //declaring a double variable double numVal = 0; //using subtoal function but throws error!!! numVal = xlWsf.Subtotal(3,xlRangeDB);
Что я уже пробовал:
Поискал в google, на сайте codeproject.
ZurdoDev
Существует более 42 000 000 возможных ошибок. Пожалуйста, укажите точную ошибку, чтобы мы могли попытаться помочь.
NOOSL
@RyanDev, спасибо, ошибка, которую я получил, такова
Системы.Исключение NullReferenceException не обработано
Значение HRESULT=-2147467261
Message=ссылка на объект не установлена на экземпляр объекта.
Я подозреваю, что не заполняю все параметры функции промежуточного итога, что может быть возможной причиной.
На веб-сайте Microsoft функция промежуточного итога записывается следующим образом:
https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.worksheetfunction.subtotal.aspx
двойной промежуточный итог(
двойной Arg1,
Диапазон Arg2,
Объект Значение Arg3,
Объект Аргументе Arg4,
Объект Arg5 Не Равны,
Объект Arg6,
Объект Arg7,
Объект Arg8,
Объект Arg9,
Объект Arg10,
Объект Arg11,
Объект Arg12,
Объект Arg13,
Объект Arg14,
Объект Arg15,
Объект Arg16,
Объект Arg17,
Объект Arg18,
Объект Arg19,
Объект Arg20,
Объект Arg21,
Объект Arg22,
Объект Arg23,
Объект Сайт Arg24,
Объект Arg25,
Объект Arg26,
Объект Arg27,
Объект Arg28,
Объект Arg29,
Объект Arg30
)
ZurdoDev
Ошибка говорит, что что-то равно нулю. Из кода, который вы выложили, что бы xlWsf.
NOOSL
Вы имеете в виду объявление для использования (xlWsf) xlWorksheetfunction
Microsoft.Офис.Взаимодействие.Превосходить.WorksheetFunction xlWsf;
ZurdoDev
Да, вы только объявили его, вы не установили его ни на что, так что он все еще равен нулю.
NOOSL
Я не знал, как установить. Можете вы пожалуйста помочь мне.
ZurdoDev
Я никогда раньше не использовал этот код, поэтому просто поищите примеры в интернете. Я могу только сказать вам, почему вы получили эту ошибку.
NOOSL
О, я думаю вот так.
Microsoft.Офис.Взаимодействие.Превосходить.WorksheetFunction xlWsf = xlApp.WorksheetFunction;