использует comobj, Excel97, excel2000;
//Запись данных из Excel для доступа к библиотеке
PROdedure ExcelToMdb(EXLfile:string;);
вар
лист, XLApp, рабочая книга: вариант;
iRow, MaxRow: целое число;
начинать
screen.Cursor:=crHourGlass;
пытаться
//Создаем объект
XLApp:=createOleObject('Excel.application');
XLApp.displayAlerts:=false;
XLApp.ScreenUpdating:=false;
XLApp.WorkBooks.Add(EXLfile);
рабочая книга:= XLApp.workbooks[1];
лист:=workbook.worksheets[1];
//лист:=XLApp.WorkBooks[1].worksheets[1];
//Получаем максимальное количество строк maxRow
XLApp.ActiveCell.SpecialCells(xlLastCell).Выбрать;
maxRow:=XLApp.ActiveCell.Row; //Максимальное количество строк;
//Запись данных в библиотеку Access
ADOTable1.open;
для iRow:=2 для MaxRow сделать
ifsheet.cells[iRow,1]<>'' then //Ключевое слово не пустое
начинать
ADOTable1.Добавить;
ADOTable1.fieldByName('ID').asInteger:=
strToInt(sheet.cells[iRow,1]);
ADOTable1.fieldByName('code').asString:=sheet.cells[iRow,2];//кодирование
ADOTable1.fieldByName('name').asString:=sheet.cells[iRow,3];//имя
ADOTable1.post;
конец;
окончательно
если не VarIsEmpty(XLApp), то начинаем //Освобождаем объект
XLApp.displayAlerts:=false;
XLApp.ScreenUpdating:=true;
XLApp.выйти;
конец;
screen.Cursor:=crDefault;
конец;
конец;
//=================== Некоторые другие методы атрибутов===============//
curRow:=XLApp.ActiveCell.Row;//Количество текущих строк
XLApp.displayAlerts:=false;//Отображать ли предупреждения и сообщения при запуске макросов
XLApp.ScreenUpdating:=false; //Функция обновления экрана, повышение скорости;
//После завершения операции ScreenUpdating возвращается в значение True
XLApp.run('macroName',params...)//Выполнить макрос
рабочая книга.сохранить;
workBook.SaveAs(AFileName,xlNormal,'','',False,False);