Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1358728095
ad1951
2013-01-21 04:28
2014.02.09
Тест на Делфи


15-1377376202
Юрий
2013-08-25 00:30
2014.02.09
С днем рождения ! 25 августа 2013 воскресенье


2-1365248739
Den
2013-04-06 15:45
2014.02.09
Форматирование исходного кода?


15-1377241940
Павиа
2013-08-23 11:12
2014.02.09
Успешный пуск ракеты.


2-1365018269
ProgRAMmer Dimonych
2013-04-03 23:44
2014.02.09
Как правильно реализовать AutoSize?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский