Форум: "Начинающим";
Текущий архив: 2014.02.09;
Скачать: [xml.tar.bz2];
ВнизИмпорт данных из Эксель Найти похожие ветки
← →
Exceler (2013-04-06 13:29) [0]Здравствуйте! Нужно импортировать большую таблицу из Экселя. Как показать пользователю что процесс идет? Есть идея использовать прогрессбар,но незнаю как посчитать количество строк в импортируемой таблице чтобы показать прогресс от 0 до 100% в процессе импорта :(
← →
clickmaker © (2013-04-06 13:48) [1]а как ты импортируешь таблицу, не зная количества строк?
← →
Медвежонок Пятачок © (2013-04-06 14:13) [2]select count(*) from [Лист1]
← →
Exceler (2013-04-06 14:18) [3]Вот так импортирую:
var
Excel: variant;
i, j: word;
begin
Excel := CreateOleObject("Excel.Application");
Excel.Workbooks.Open("d:\test2\Книга1.xls");
for i := 1 to 5 do
for j := 1 to 5 do
StringGrid1.Cells[j, i] := Excel.Sheets[1].Cells[i, j].Text;
end;
А как посчитать в таблице количество строк с данными, чтобы
с помощью прогрессбара показать процесс импорта от 1 до 100% ?
← →
clickmaker © (2013-04-06 14:25) [4]> как посчитать в таблице количество строк с данными
а 5 - это что?
← →
Медвежонок Пятачок © (2013-04-06 14:35) [5]как посчитать в таблице количество строк с данными, чтобы
идти по строкам вниз пока в строках есть данные и загибать пальцы.
сколько пальцев зажмешь - столько у тебя и строк с данными
← →
Exceler (2013-04-06 14:37) [6]5 - это количество строк, но оно заранее неизвестно :( в итоге таблице импортируется не полностью а прогресс пока вобще не отображается.
← →
clickmaker © (2013-04-06 14:50) [7]> загибать пальцы
в том числе и на ногах
← →
Exceler (2013-04-06 15:07) [8]Оч.остроумно! :) Вижу одни профи тут собрались ;)
← →
Медвежонок Пятачок © (2013-04-06 15:13) [9]если нет пальцев, можно использовать переменную типа integer
← →
clickmaker © (2013-04-06 15:44) [10]> одни профи тут собрались
а ты как думал? ) держи
Excel.Sheets[1].UsedRange.Rows.Count
← →
Медвежонок Пятачок © (2013-04-06 15:58) [11]не очень поможет.
так как на листе кроме нужных данных могут быть ненужные
← →
Exceler (2013-04-06 16:05) [12]вначале таблица с данными а потом пустые строки. надо импортировать
таблицу отобразив прогресс
← →
sniknik © (2013-04-06 19:44) [13]а прогресс это самоцель?... или следствие не знания других компонент для "вкачивания" кроме StringGrid-а.
открыть в ADO как таблицу (импортировать) займет пару секунд почти любое количество (хотя, работал так уже давно, еще 65тыс строк максимум в екселе позволялся, сейчас наверняка больше)
насколько большая таблица?
← →
Exceler (2013-04-06 21:05) [14]>sniknik от 300 до 5000 строк с данными. Как открыть в АДО? Скорость импорта впечатлила :)
← →
Exceler (2013-04-06 21:10) [15]Не обязательно стринггрид, так пока умею. Хочу максимально быстро :)
← →
O'ShinW © (2013-04-06 21:29) [16]слова для гугли:
"delphi" +"Excell" +"вариант" +"массив"
"delphi" +"Excell" +"recordset"
← →
Exceler (2013-04-06 21:41) [17]Спасибо за советы!
← →
O'ShinW © (2013-04-06 21:47) [18]"delphi" +"Excell" +"вариант" +"массив" - первая же ссылка
с примером под копи-паст во втором ответе
← →
Exceler (2013-04-06 22:05) [19]народ писал про Адо на линках не видать :(
← →
clickmaker © (2013-04-06 22:17) [20]http://devdelphi.ru/?p=63
← →
Exceler (2013-04-06 22:22) [21]>clickmaker Спасибо большое!
← →
sniknik © (2013-04-06 22:50) [22]> http://devdelphi.ru/?p=63
только лучше работать непосредственно с Jet-ом, а не как там с ODBC.
← →
Exceler (2013-04-06 22:55) [23]>sniknik с Jet-ом?
← →
vlad oshin2 (2013-04-07 01:28) [24]
> народ писал про Адо на линках не видать :(
ссылка пятая по запросу
> "delphi" +"Excell" +"recordset"
← →
sniknik © (2013-04-07 08:32) [25]>sniknik с Jet-ом?
по ссылке скрин после
Нажимаем на кнопку «Build…» и появляется следующее окно
4-тый провайдер сверху.
← →
Exceler (2013-04-07 10:27) [26]>sniknik Понял,попробую.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.02.09;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.003 c