Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.02.09;
Скачать: CL | DM;

Вниз

Импорт данных из Эксель   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.014 c
2-1358728095
ad1951
2013-01-21 04:28
2014.02.09
Тест на Делфи


2-1365109635
noname_06
2013-04-05 01:07
2014.02.09
Ищу примеры использования Сhromium Еmbedded Framework


2-1364812253
dronchik
2013-04-01 14:30
2014.02.09
Как обратиться к объекту в цикле


3-1295420914
Дмитрий С
2011-01-19 10:08
2014.02.09
ВКонтакте: кто удалился?


15-1377069296
Els
2013-08-21 11:14
2014.02.09
Хороший форум по программированию