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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.11.2010, 13:50
kaizer131 kaizer131 вне форума
Начинающий
 
Регистрация: 01.11.2008
Сообщения: 112
Репутация: 10
По умолчанию Импорт из Excel

Добрый день!
Подскажите как можно реализовать следующее
Есть xls-файл в данными, его нужно загрузить в приложение Delphi (для проверки и обработки), а затем SQL-запросом выгрузить в локальную базу данных FDB.
К базе подключаюсь с помощью TIBDatabase.
Подскажите в какую сторону копать, может кто сталкивался с таким, буду благодарен за любую информацию и ссылки.
Ответить с цитированием
  #2  
Старый 26.11.2010, 15:21
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

примерно в эту :
Код:
excel := createoleobject('excel.application');
    excel.workbooks.open(sedit1.text,false);
    workbook:=excel.workbooks.item[1];
    sheet := workbook.worksheets[1];
    sheet.cells.specialcells(xlcelltypelastcell,emptyparam).activate;
    y := excel.activecell.row;
for i:=2 to y do
    begin
      //Выбор данных из Ёкселя
      st1:=trim(sheet.cells[i,1]);
      st2:=trim(sheet.cells[i,2]);
      st3:=trim(sheet.cells[i,3]);
      st4:=trim(sheet.cells[i,4]);
      st5:=trim(sheet.cells[i,5]);
      st6:=trim(sheet.cells[i,6]);
      //Вызов ХП
      lk.TransactionID := 1;
      lk.IsolationLevel := xilREADCOMMITTED;
      if SQLConnection1.InTransaction then SQLConnection1.Commit(lk);
      SQLConnection1.StartTransaction(lk);
      try
        ibquery1.Active:=false;
        ibquery1.ParamByName('GR').Value:=copy(st1,1,50);
        ibquery1.ParamByName('ART').Value:=copy(st2,1,30);
        ibquery1.ParamByName('NM').Value:=copy(st3,1,50);
        ibquery1.ParamByName('DL').Value:=strtofloat(copy(st4,1,30));
        ibquery1.ParamByName('RT').Value:=strtofloat(copy(st5,1,30));
        ibquery1.ParamByName('rtsp').Value:=strtofloat(copy(st6,1,30));
        ibquery1.ParamByName('DT').Value:=dateof(sDateEdit1.Date);
        if isDealerNds=NDSno then ibquery1.ParamByName('ndl').Value:=0
        else ibquery1.ParamByName('ndl').Value:=1;
        if isRetailNDS=NDSno then ibquery1.ParamByName('nrt').Value:=0
        else ibquery1.ParamByName('nrt').Value:=1;
        if isRetailShopNDS=NDSno then ibquery1.ParamByName('nrtsp').Value:=0
        else ibquery1.ParamByName('nrtsp').Value:=1;
        IBQuery1.Active:=true;
        SQLConnection1.Commit(lk);
        if ibquery1.FieldByName('ID').IsNull then begin
          idf:= -1;
        end
        else idf:=ibquery1.FieldByName('ID').AsInteger;
      except
      on e:Exception do
        begin
        SQLConnection1.Rollback(lk);
        idf:=-1;
        end;
      end;

.....

if not VarIsEmpty(Excel) then excel.quit;
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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