Показать сообщение отдельно
  #1  
Старый 19.06.2009, 17:36
Аватар для del3p
del3p del3p вне форума
Прохожий
 
Регистрация: 19.06.2009
Сообщения: 3
Репутация: 10
Злость Импорт из excel в ДБ

Доброго времени суток всем. Проблема состои в том что при считывании информации с листа excel вылетает ошибка Ole error 800401A8 и данные с листа записываются но не все, что делать незнаю помогите плз вот код для считывания:
Код:
begin
    if OpenDialog1.Execute then
      begin
        ExcelApplication1.ConnectKind := ckNewInstance;
        ExcelApplication1.AutoConnect:=true; // запускаем Excel
        ExcelApplication1.AutoQuit := true;
        // открываем книгу
        ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.OpenXML(OpenDialog1.FileName,EmptyParam));
        // соединяемся с книгой
        ExcelApplication1.ConnectTo(ExcelWorkbook1.Application);
        ExcelWorksheet1.ConnectTo(ExcelWorkbook1.ActiveSheet as ExcelWorksheet);
       row:=30;
  //считываем из файла
  for i:=2 to row do
     begin
      // считываем ячейки
      v1:=ExcelWorksheet1.Range['A'+inttostr(1),EmptyParam];
      v2:=ExcelWorksheet1.Range['A'+inttostr(i),EmptyParam];
      v3:=ExcelWorksheet1.Range['B'+inttostr(i),EmptyParam];
      v4:=ExcelWorksheet1.Range['C'+inttostr(i),EmptyParam];
      v5:=ExcelWorksheet1.Range['D'+inttostr(i),EmptyParam];
      v6:=ExcelWorksheet1.Range['E'+inttostr(i),EmptyParam];
      v7:=ExcelWorksheet1.Range['F'+inttostr(i),EmptyParam];
      // записываем в таблицу
      Table1.Append;
      //    добавляеь запись в БД
      Table1.FieldByName('Gruppa').AsString:=VarToStr(v1); // записываем данные
      Table1.FieldByName('FIO').AsString:=VarToStr(v2);
      Table1.FieldByName('Data').AsString:=DateToStr(v3);
      Table1.FieldByName('Ctrah_komp').AsString:=VarToStr(v4);
      Table1.FieldByName('Ceria_polisa').AsString:=VarToStr(v5);
      Table1.FieldByName('Nomer_polisa').AsString:=VarToStr(v6);
      Table1.FieldByName('Dom_adres').AsString:=VarToStr(v7);
      Table1.Post;                                    //    сохраняем изменения
      // чтоб приложение не "повисало"
      Application.ProcessMessages;
     end;
     // выходим из Excel
     ExcelApplication1.Quit;
  end;