Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.04;
Скачать: 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 вся ветка

Текущий архив: 2007.11.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
2-1192368884
Blind Guardian
2007-10-14 17:34
2007.11.04
Странная штука с записью и чтением в и из файла


2-1192086758
Quart
2007-10-11 11:12
2007.11.04
Подключение к БД


15-1191262340
cber
2007-10-01 22:12
2007.11.04
В чём ошибка?


15-1191570233
vajo
2007-10-05 11:43
2007.11.04
Полезный девайс


1-1187684815
ehhhh
2007-08-21 12:26
2007.11.04
наложение изображения