Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Экспорт из Excel в dbf   Найти похожие ветки 

 
Uran   (2005-02-21 11:22) [0]

Мастера, подскажите пожалуйста,  как осуществить экспорт содержимого каждого листа Excelевского файла в dbf файлы?
Заранее благодарен.


 
YurikGL ©   (2005-02-22 21:40) [1]

Либо построчно через OLE либо использовав соответсвующий провайдер данных


 
rosl   (2005-02-24 01:54) [2]

код у меня большой, выбери то что нужно:
var
 Excel: variant;
 i, s, p, v, c, vi, cl, os: word;
 SelfDir, shet, podr, ved, c_st, vr, clas, ost, path: string;
 x :  Integer;
begin
dm.OpenDialog.Filter:="Файлы проверки (БР)|*.xls";
dm.OpenDialog.FileName:="";
Form_progress.Caption:="Загрузка данных для проверки";
path := getcurrentdir;
SelfDir := options.Edit_path_baza.Text;
dm.Q_proverka.SQL[1]:="from " + """" + SelfDir + "\baza\main1.dbf" + """" + " b, " + """" + SelfDir + "\baza\main4.dbf" + """" + " p, " + """" + SelfDir + "\sprav\name.dbf" + """" + " n";
dm.T_proverka.TableName:=SelfDir + "\baza\main4.dbf";

dm.Client_proverka.Active:=false;
dm.T_proverka.Active:=false;
CopyFile(PChar(SelfDir + "\baza\temp.dbf"),PChar(SelfDir + "\baza\main4.dbf"),False);
dm.OpenDialog.Execute;
SetCurrentDir(path);
if dm.OpenDialog.FileName = "" then
exit;
Form_progress.ProgressBar.BarColor:=clBlue;
dm.T_proverka.DatabaseName:="";
dm.T_proverka.TableName:=SelfDir + "\baza\main4.dbf";
dm.T_proverka.Active:=true;
Form_progress.Show;
Excel := CreateOleObject("Excel.Application");
Excel.Workbooks.Open(dm.OpenDialog.FileName);
//Excel.visable:=true;
Excel.ActiveCell.SpecialCells(xlLastCell).Select;
x := Excel.ActiveCell.Row - 3;
Excel.Cells.Select;
Excel.Cells.NumberFormat:="@";
report_perefin.Label_period.Caption:="(Использованы данные для проверки  " + Excel.Sheets[1].Cells[5,1].Text + ").";
if (Excel.Sheets[1].Cells[9,1].Text <> "Корр:Наименование") and
(Excel.Sheets[1].Cells[9,2].Text <> "Счет") and
(Excel.Sheets[1].Cells[9,3].Text <> "БК:Подр") and
(Excel.Sheets[1].Cells[9,4].Text <> "БК:Вед") and
(Excel.Sheets[1].Cells[4,1].Text <> "БР") and
(Excel.Sheets[1].Cells[x - 2,1].Text <> "ВСЕГО:") then
begin
Form_progress.Close;
showmessage("Выбранный Вами файл не является файлом проверки или содержит не верную структуру!");
Excel.DisplayAlerts := false;
Excel.Workbooks.close;
exit;
end;
Form_progress.ProgressBar.Max:=x-10;
      for i := 10 to x do
      for s := 2 to 2 do
      for p := 3 to 3 do
      for v := 4 to 4 do
      for c := 5 to 5 do
      for vi := 6 to 6 do
      for cl := 7 to 7 do
      for os := 12 to 12 do
    begin
      shet  := Excel.Sheets[1].Cells[i,s].Text;
      podr  := Excel.Sheets[1].Cells[i,p].Text;
      ved   := Excel.Sheets[1].Cells[i,v].Text;
      c_st  := Excel.Sheets[1].Cells[i,c].Text;
      vr    := Excel.Sheets[1].Cells[i,vi].Text;
      clas  := Excel.Sheets[1].Cells[i,cl].Text;
      ost   := Excel.Sheets[1].Cells[i,os].Text;

      dm.T_proverka.Insert;
      dm.T_proverka.FieldByName("col01").AsString:=shet;
      dm.T_proverka.FieldByName("col02").AsString:=podr;
      dm.T_proverka.FieldByName("col03").AsString:=ved;
      dm.T_proverka.FieldByName("col04").AsString:=c_st;
      dm.T_proverka.FieldByName("col05").AsString:=vr;
      dm.T_proverka.FieldByName("col06").AsString:=clas;
      dm.T_proverka.FieldByName("col07").AsCurrency:=strtocurr(ost);
      dm.T_proverka.Next;
      Form_progress.ProgressBar.Position:=Form_progress.ProgressBar.Position + 1;
    end;
      Excel.DisplayAlerts := false;
      Excel.Workbooks.close;
      Form_progress.ProgressBar.Position:=0;
      Form_progress.close;


 
Uran   (2005-02-24 14:19) [3]

Спасибо большое! :)) то что нужно! :))))



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.034 c
2-1132581168
GuAV
2005-11-21 16:52
2005.12.11
Inplace Editor в StringGrid с реакцией на завершение ввода.


14-1132329259
Loginov Dmitry
2005-11-18 18:54
2005.12.11
Это глюк или так должно быть?


3-1130480653
goris
2005-10-28 10:24
2005.12.11
Использование баз 1С


2-1132964759
KGC
2005-11-26 03:25
2005.12.11
Отправка письма с аттачем с помощью WinSock


1-1132156397
markers
2005-11-16 18:53
2005.12.11
"Конец перетаскивания"