Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2015, 08:56   #1
Arsenikum
Пользователь
 
Регистрация: 03.07.2015
Сообщений: 11
По умолчанию ошибка в преобразование типов

Здравствуйте! Такой вопрос: Есть массив типа object, который я заполняю значениями типа int из Excel-файла, потом хочу найти разницу между значениями массива, но выходит ошибка. Не удалось привести тип объекта "System.Double" к типу "System.Object[]". Что не так, подскажите?
Код:
object[,] myObjects = (object[,])myRange.get_Value(Excel.XlRangeValueDataType.xlRangeValueDefault);
     foreach (object[] obj in myObjects)
          foreach(object elem in obj)
               {
                   int firstElem = Convert.ToInt32(obj[0]);
                   int data1 = Convert.ToInt32(elem);
                   int data2 = firstElem;
                   int raznica = data1 - data2;
               }
Arsenikum вне форума Ответить с цитированием
Старый 16.07.2015, 07:32   #2
Akeloya
Форумчанин
 
Регистрация: 27.01.2014
Сообщений: 115
По умолчанию

Если не изменяет память, то get_Value возвращает одно значение, в случае указания параметра Excel.XlRangeValueDataType.xlRangeV alueDefault - должно возвратиться значение по умолчанию из диапазона, т.е. текущая выбранная ячейка (если вы ничего не выбирали) - угловая.
Поэтому в первой же строчке возвращается double и в ней же ошибка приведения типов.
Разница элементов массива - матрица. Возможно вам разумнее будет построить эту матрицу непосредственно в экселе силами формул, а затем забрать ее к себе.
Если вы берете Range - используйте get_Range, но тип данных, полученный вами будет екселевским, т.е. Com объекты и привести одной строкой к типу object[,] не получится.
Akeloya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование типов ArtGoN Visual C++ 7 04.12.2010 22:00
Преобразование типов ArtGoN Общие вопросы C/C++ 5 16.11.2010 19:35
преобразование типов Dimarik Общие вопросы C/C++ 1 03.04.2010 16:28
Си. Преобразование типов pif Помощь студентам 3 20.04.2009 13:54
преобразование типов в Си HoOpe Помощь студентам 5 11.03.2009 21:58