Я пытаюсь получить диапазон Excel и скопировать в массив объектов с помощью Vb.Net.
Это не является проблемой. Я использую следующий код:
Dim vValues(,) As Object = ExcelApp.Range(vRange).Value
И отлично работает; но у меня такой случай:
В столбце «С»; значение имеет определенный формат и внутренне другое значение.
У меня вопрос:
Кто-нибудь знает, как получить точную информацию, которую видит пользователь?
Я пытаюсь получить информацию без использования For ... Each
или какого-либо цикла.
Я также старался избегать использования функции «текст в столбцы».
Оба варианта кажутся правильными, но при большом объеме данных могут повлиять на производительность.
К вашему сведению: также я могу получать информацию через соединение ODBC; но я ищу решение, используя Range
1 ответ
Именно то, что видит пользователь, - это свойство Text
. Но у вас не может быть такого массива, вам придется запрашивать каждую ячейку индивидуально.
Вы получаете значение Double
в своем массиве вместо значения DateTime
, потому что в Excel применено форматирование «Время». Если бы у вас был формат из категории «Дата», Excel вместо этого отправил бы правильный Variant/Date
, а не Double
, который его представляет.
Другой вариант - создание объектов DateTime
на стороне .NET, если вы знаете, в каких столбцах они должны быть.
Похожие вопросы
Новые вопросы
arrays
Массив - это упорядоченная линейная структура данных, состоящая из набора элементов (значений, переменных или ссылок), каждый из которых идентифицируется одним или несколькими индексами. Когда вы спрашиваете о конкретных вариантах массивов, используйте вместо них следующие связанные теги: [vector], [arraylist], [matrix]. При использовании этого тега в вопросе, относящемся к языку программирования, пометьте вопрос используемым языком программирования.