Вниз
Скачать: CL | DM;

из Excel в Access   Найти похожие ветки 

← →
Kley   (2007-06-26 21:20) [0]

Здравствуйте мне нужно загрузить данные из Excel в Access
использую следующий код (поячеечная загрузка):
var
ea:variant;
row,count:integer;
i: word;
begin
ea:=CreateOleObject("Excel.Application"); //Задубасить Ole обьект типа Eксель
ea.Workbooks.Open(opendialog1.FileName); //Открываем нужную нам книгу
ea.Visible:=false;// Скрываем, если конечно нужно
row:=ea.ActiveSheet.UsedRange.Rows.Count;// Смотрим сколько заюзаных строк
for i:=1 to row do begin // Начинаем цикл
adotable2.Append; // Добавляем в таблицу новую запись
// сдесь вносим в таблицу каждое значение отдельно
adotable2.Fields[0].Value:=ea.Sheets[1].Cells[i,1].Text;
adotable2.Fields[1].Value:=ea.Sheets[1].Cells[i,2].Text;
adotable2.Fields[2].Value:=ea.Sheets[1].Cells[i,3].Text;
adotable2.Fields[3].Value:=ea.Sheets[1].Cells[i,4].Text;
adotable2.Fields[4].Value:=ea.Sheets[1].Cells[i,5].Text;
adotable2.Fields[5].Value:=ea.Sheets[1].Cells[i,6].Text;
adotable2.Fields[6].Value:=ea.Sheets[1].Cells[i,7].Text;
adotable2.Fields[7].Value:=ea.Sheets[1].Cells[i,8].Text;
application.ProcessMessages; // ЭТО ОБЯЗАТЕЛЬНО, ЕСЛИ НЕ ХОТИМ ВИСЕТЬВО ВРЕМЯ ВЫПОЛНЕНИЯ!!!!!!!!!!!!
end;
adotable2.Post; // Сохраняем полученое в базе
ea.quit; // Выходим из Екселя
adotable2.First; // Переходим на первую запись
end;
в таблице 6000 записей отрабатывает очень долго.
посоветуйте как ускорить процесс.


← →
Megabyte ©   (2007-06-27 08:52) [1]

А если попробовать к Экселю обращаться через ADO, как к БД? Там есть замечательный метод CopyFromRecordSet


← →
YurikGL ©   (2007-06-28 21:27) [2]

Если это нужно однократно - можно через буфер обмена перебросить... У меня получалось гораздо быстрее, чем построчно.

По коду - лучше использовать запрос "insert into" для каждой строчки Excel-я и сразу добавлять всю строку. Уверен, что будет быстрее.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
2-1192379027
Инжинер
2007-10-14 20:23
2007.11.04
Работа с USB


15-1191573275
Kostafey
2007-10-05 12:34
2007.11.04
Программное создание источника данных


15-1191760798
Andy BitOff
2007-10-07 16:39
2007.11.04
Блин!!! Как бороться?


11-1175331301
Vladimir Kladov
2007-03-31 12:55
2007.11.04
Версия 2.56


15-1190903984
Vlad Oshin
2007-09-27 18:39
2007.11.04
Ищется работник в Питере.




   Наверх