Delphi将excel数据导入到数据库中源码

这篇博客讨论了如何使用Delphi编写程序来从Excel文件读取数据,并将其导入到Oracle数据库中。提供了相关的Delphi源码示例,但指出在实际应用中可能需要根据具体情况调整代码以实现数据导入。
摘要由CSDN通过智能技术生成

Delphi将excel数据导入到数据库中源码

procedure Tfrmexceltodata.Button4Click(Sender: TObject);
const
BeginRow= 1; BeginCol= 2;
var
iRE:Integer;
iRow,iCol :Integer; //列、行
MsExcel,MsExcelWorkBook,MsExcelWorkSheet:Variant;
adoquery1:TADOQuery;
sqlstr1,sqlstr2:string;
begin
Try
OpenDialog1.FileName:=’*.xls’;
if not OpenDialog1.Execute then
begin
Exit;
end;

  if ExtractFileExt(OpenDialog1.FileName) <> '.xls' then
  begin
  MessageBox(0, '请选择正确的excel文件',PChar('提示'),MB_OK or MB_ICONWARNING);
  Exit;
  end;
  MsExcel:=CreateOleObject('Excel.Application');
  MsExcel.visible:=true;
  MsExcelWorkBook:=MsExcel.WorkBooks.Open(OpenDialog1.FileName);
Except
  Exit;
end;

//开始从EXCEL文件读取相关信息,并导入数据库中的“文件登记表”表

Try
  Application.ProcessMessages;//防止进程阻塞
  iRow:=BeginRow;
  iCol:=BeginCol;
  adoquery1:=TADOQuery.Create(Self);
  adoquery1.Connection:=frm_main.con1;
  sqlstr1:='insert into 文件登记表(编号,来文日期,来文单位,来文原编号,文件自编号,文件标题,页数,来文份数,文件大类,文件小类,文件年度,文件状态,填卡完毕,打印完毕,是否清退)';
  sqlstr2:='values (:bh,:lwrq,:lwdw,:lwybh,:wjzbh,:nrzy,:ys,:lwfs,:wjdl,:wjxl,:wjnd,:wjzt,:sywb,:pswb,:sfqt)' ;
  getdh1;
  getlwbh;  //取得文件自编号
  while trim(msExcel.WorkSheets['sheet1'].Cells[iCol,iRow].value) <> '' do
  begin
    with adoquery1 do
    begin
    Close;
    SQL.Clear;
    SQL.Add(sqlstr1);
    SQL.Add(sqlstr2);
    Parameters.ParamByName('bh').Value :=StrToInt(djbh)+iCol-1;
    //Parameters.ParamByName('lwrq1').Value :=dtp1.DateTime;
    Parameters.ParamByName('lwrq').Value :=Trim(msExcel.WorkSheets[1].Cells[iCol,iRow].value);
    Parameters.ParamByName('lwdw').Value :=Trim(msExcel.WorkSheets[1].Cells[iCol,iRow+2].value);
    Parameters.ParamByName('lwybh').Value :=Trim(msExcel.WorkSheets[1].Cells[iCol,iRow+3].value);
    Parameters.ParamByName('wjzbh').Value :=Trim(msExcel.WorkSheets[1].Cells[iCol,iRow+1].value);
    //Parameters.ParamByName('wjzbh').Value :=lwbh+inttostr(icol-1);//Trim(msExcel.WorkSheets[1].Cells[iCol,iRow+1].value);
    Parameters.ParamByName('nrzy').Value :=Trim(msExcel.WorkSheets[1].Cells[iCol,iRow+4].value);
    Parameters.ParamByName('ys').Value :=1;
    Parameters.ParamByName('lwfs').Value :=1;
    Parameters.ParamByName('wjdl').Value :=cbb6.text;
    Parameters.ParamByName('wjxl').Value :=cbb7.text;
   // Parameters.ParamByName('wjnd').Value :=FormatDateTime('yyyy',now());
    Paramete
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值