Получение значения из диапазона Excel возвращает ноль, хотя диапазон найден - PullRequest
0 голосов
/ 16 апреля 2019

Я открываю документ Excel, за которым следует соответствующий лист, а затем перебираю все свойства в классе.

Если имя свойства совпадает с именем диапазона, например, ячейка с именем FacilityAmount в электронной таблице, а свойство с именем FacilityAmount Я хочу получить значение из указанного диапазона.

Я знаю, что имя диапазона найдено, но valueArray всегда равно нулю или 0. Значение внутри электронной таблицы равно 100 000.

        foreach (PropertyInfo property in properties)
        {
            try
            {
                string propertyName = property.Name;
                Microsoft.Office.Interop.Excel.Range rng = worksheet.get_Range(propertyName, Type.Missing);
                object valueArray = rng.get_Value(XlRangeValueDataType.xlRangeValueDefault);

                //Do something with valueArray but it's returning null?
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                //We have to leave this catch blank as some cells don't have range names (intentional).
                //We could put a warning that the range name did not exist but it's too detrimental to the user experience
            }
        }

Что мне здесь не хватает?

Редактирование / обновление: я только что проверил это, написав быстрое приложение WinForms (C #) и используя тот же код. Это возвращает значение просто отлично. Может ли это быть ошибкой в ​​Interop.Excel на .Net Core?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...