Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #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;
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:48.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025