Форум: "Прочее";
Текущий архив: 2013.12.01;
Скачать: [xml.tar.bz2];
ВнизБыстрый импорт таблицы Excel Найти похожие ветки
← →
Novice (2013-06-12 18:41) [0]Здравствуйте! Нужно импортировать в программу(ListView or StringGrid) таблицу Excel. Подскажите как это сделать максимально быстро и желательно попроще? Нагуглил пару способов, но все они в основном перебором строк и достаточно медлительны, а в таблице больше 10 000 строк и процесс занимает очень много времени :(
← →
robt5 (2013-06-12 18:58) [1]а ты формат файла нагуглил?
← →
Novice (2013-06-12 20:08) [2]Формат файла таблицы:xls a потом хочу ListView or StringGrid сохранять в текстовый файл. С базами данных связыватся не очень охота. Как сохранять в текстовый файл
знаю а вот быстро импортировать пока не получается :-(
← →
[ВладОшин] © (2013-06-12 20:39) [3]сколько данных
за сколько секунд
какой код
зы
самый простой способ - приравнять вариантные массивы
← →
Jeer © (2013-06-12 20:40) [4]>знаю а вот быстро
Смешно.. или нет?
← →
megavoid © (2013-06-12 21:08) [5][2]
Пишем в google "delphi xls stringgrid"
Первая же ссылка: http://www.delphisources.ru/pages/faq/base/xls_to_stringgrid.html
Копипастим код, проверяем на xlsx с 12000 строк - перебирает за 2 секунды. Много? раздираем xlsx (это обычный zip), парсим xml парсером или вручную.
← →
[ВладОшин] © (2013-06-12 21:09) [6]
> больше 10 000 строк
последний раз отказался от 2 млн. строк :)
т.к.
1. ёксель стока не берет
2. хватит и 1 :)
3. не важно после 1 и 2
однако, не сказал бы что долго.. ошибку ждать пришлось
а около 500 000 строк на 6 столбцов,
примерно 350 мб.
приемлимо, в целом, если комп не 486 дх2 на 120Мг
← →
robt5 (2013-06-12 21:52) [7]
> Формат файла таблицы:xls
это не формат файла, а расширение - тупо три буквы после точки
← →
Novice (2013-06-12 22:32) [8]Спасибо Мегавойд! Скорость впечатляет! Интересно на каком ПК можно
достигнуть таких результатов?
← →
megavoid © (2013-06-12 23:11) [9][8] на любом достаточно современном. У меня i5-3570K, но это не суть, на шестилетнем Q6600 субъективно на секунду дольше, в файле ~12000 строк, 10 столбцов.
← →
Novice (2013-06-13 01:59) [10]Испытал,все отлично и быстро работает но в конце импорта вылетает окно ошибки
закрытия Excel :-( Хотя данные успешно в грид попадают. Как бы избежать этой
ошибки или хотя бы спрятать? :-)
← →
Novice (2013-06-13 02:01) [11]Ошибка при работе с Офис 2010,на других не проверял.
← →
Германн © (2013-06-13 02:05) [12]
> Novice (13.06.13 01:59) [10]
>
> Испытал,все отлично и быстро работает но в конце импорта
> вылетает окно ошибки
> закрытия Excel
Ты хотя бы скриншот сообщения об ошибке показал.
← →
Anatoly Podgoretsky © (2013-06-13 11:21) [13]Ты что пытаешь узнать главную военную тайну.
(с) Мальчиш Кибальчиш
← →
Novice (2013-06-13 12:38) [14]http://www.foto-me.ru/v.php?id=faf147cbaa9e963ba7d580dff27a23b9
← →
megavoid © (2013-06-13 12:39) [15][14] это победа, новису зачёт )))))
← →
картман © (2013-06-13 12:46) [16]
> Novice (12.06.13 22:32) [8]
>
> Спасибо Мегавойд! Скорость впечатляет!
а как сделать медленнее? Мне так, для общего развития.
← →
megavoid © (2013-06-13 13:04) [17]добавить столбцов, этак до 200
← →
картман © (2013-06-13 13:19) [18]
> добавить столбцов, этак до 200
ну да, как я не догадался?
← →
megavoid © (2013-06-13 13:29) [19]Ну, допустим, не range получить, а поперебирать, каждый раз обращаясь к эскелю за значением следующей ячейки
← →
Novice (2013-06-13 14:49) [20]В чем может быть ошибка не подскажете? Не оч.чтоб нервирует окошко Excel
но неприятно :-(
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.12.01;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c