![]() |
|
![]() ![]() ![]() |
|
greykardinal |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 29.9.2009 Репутация: нет Всего: нет |
Уважаемые форумчане.
Подскажите, как считывать данные из документа Excel, если число строк в документе несколько тысячи несколько десятков столбцов. Раньше всегда считывал данные из каждой ячейки, но это очень много времени занимает. В инете прочитал что надо работать с объектом Range - его считывать из Excel и обрабатывать. Но как получить сами данные из диапазона Range?? ![]() Попробовал такой код:
На форуме ничего похожего не нашел. Подскажите,, как исправить код. |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
Поиск по "VarArrayCreate". Здесь примеры для записи, для чтения - тоже самое.
Это сообщение отредактировал(а) Alca - 6.12.2010, 12:10 Присоединённый файл ( Кол-во скачиваний: 26 ) ![]() |
|||
|
||||
greykardinal |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 29.9.2009 Репутация: нет Всего: нет |
Alca, спасибо,
![]() попробовал переделать Ваш пример:
Как вытащить из ArrayData значения ячеек? |
|||
|
||||
GrayCardinal |
|
|||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: нет Всего: 58 |
greykardinal,
Не понял юмора :( |
|||
|
||||
Alca |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
А что такое A? |
||||
|
|||||
greykardinal |
|
||||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 29.9.2009 Репутация: нет Всего: нет |
А- размер массива F, равен 25000. Извиняюсь, малость неправильный код привел
Прошу помощи. |
||||
|
|||||
Alca |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
Выход за пределы массива Добавлено через 3 минуты и 12 секунд
Может лучше (быстрее) через адо вынять? ![]() |
||||||
|
|||||||
greykardinal |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 29.9.2009 Репутация: нет Всего: нет |
Нашел ответ.
![]() Надо было так сделать:
А насчет ADO - действительно будет быстрее, но не хочется копаться в нем. Хочется старым проверенным способом попробовать. |
|||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Alca, сделал Вашим методом занесение данных в Excel, НО! Почему-то заносится одно и тоже значение во все ячейки! :( Что за нафик?
В Excel передаётся только arr[0]; -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
akrufar |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 19.5.2016 Репутация: нет Всего: нет |
У меня вопрос. Сделал что-то подобное. Но просто считываю большой массив из файла-Excel переменную типа variant. Таким е образом:
При однократном вызове все работает быстро. Диапазон 18 на 3500 меньше чем за секунду считывает. Но если вызвать повторно код, то работает порядка 30 секунд. Хотя при каждом вызове сначала открываю Excel, считываю данные, закрываю Excel. Кто подскажет в чем беда???? Кусок кода ниже:
Добавлено через 3 минуты и 2 секунды При тестировании выяснил, что проблема именно в этой строке:
но что именно не так не понятно. т.е. если эту строку убрать, то код работает быстро при любом количестве вызовов, а если вернуть, то первый раз быстро, а при повторных вызовах очень медленно. Это сообщение отредактировал(а) akrufar - 19.5.2016, 22:03 |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |