SQL数据库中的几张基本信息表。日后维护可能需要增加新的数据(数据量比较大,需要成批导入的那种。)我想做个EXCEL导入程序,就是将EXCEL文件的某张工作簿的数据追加到原来SQL的某张基本数据表中。谁有例子程序或者相关经验啊?请帮助一下。我的MAIL地址是:[email protected]

解决方案 »

  1.   

    try
        opendialog1:=Topendialog.Create(self);
        opendialog1.InitialDir:=ExtractFileDir(paramstr(0));//文件的打存放初始路径
        if opendialog1.Execute then
          begin
            Try
              ExcelApplication1.Connect;
            Except
              Messagebox(0,'Excel 可能没有安装!!','提示!',mb_Ok);
              exit;
            End;
            ExcelApplication1.Visible[0]:=false;
            ExcelApplication1.Caption:='Excel Application';
            try
              excelapplication1.Workbooks.Open(opendialog1.FileName,
              null,null,null,null,null,null,null,null,null,null,null,null,0);//打开指定的EXCEL 文件
            except
            begin
                ExcelApplication1.Disconnect;//出现异常情况时关闭
                ExcelApplication1.Quit;
                showmessage('请选择EXCEL电子表格!');
                exit;
            end;
            end;
            ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
            ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);
            excelprogress.Max:=excelworksheet1.UsedRange[0].Rows.Count;
            ExcelProgress.Position:=0;
            excelprogress.Step:=1;
            for i:=1 to  excelworksheet1.UsedRange[0].Rows.Count do
              begin
                if trim(excelworksheet1.cells.item[i+1,2])<>'' then
                  begin
                    gh:= excelworksheet1.cells.item[i+1,2];
                    xm:= excelworksheet1.cells.Item[i+1,3];
                    amt:=excelworksheet1.cells.item[i+1,4];
                    with tadoquery.Create(self) do
                      begin
                        connection:=syspropertys.GetCN('DB');
                        close;
                        sql.Clear;
                           //insert的语句
                        excelprogress.StepIt;
                        free;
                      end;
                  end
                end;
             ExcelApplication1.Disconnect;
             ExcelApplication1.Quit;
       end;
      except
       ExcelApplication1.Disconnect;
       ExcelApplication1.Quit;
       exit;
    end;
    end;