Delphi 加载Excel 导入数据库


本文整理自网络,侵删。

 
uses  ComObj;

procedure TForm1.Button1Click(Sender: TObject);
const
  ESatir = $0000000B;
var
  Adet: Integer;
  Book: Variant;
  SSay, j, I: Integer;
  Excel, Sheet: Variant;
begin
  Adet := 0;

  OpenDialog.Filter := 'Excel *.xls,*.xlsx|*.xls;*.xlsx';
  OpenDialog.Options := OpenDialog.Options + [ofAllowMultiSelect];
  if OpenDialog.Execute then
  begin
    for I := 0 to OpenDialog.Files.Count - 1 do
    begin
      Excel := CreateOleObject('Excel.Application');
      Book := Excel.WorkBooks.Open(OpenDialog.Files[I]);
      Sheet := Book.WorkSheets['Master']; // Sayfa ad?
      SSay := Excel.ActiveSheet.Cells.SpecialCells(ESatir, EmptyParam).Row;
      try
        With FDQuery do
        begin
          for j := 5 to SSay do
          begin
            Inc(Adet);
            Close;
            SQL.Clear;
            SQL.Add('Insert Into LIST (SIRANO, GIRIS, IDADI, URUN)');
            SQL.Add(' Values (:SR, :GR, :IA, :UR)');
            ParamByName('SR').AsInteger := Adet;
            ParamByName('GR').Value := Sheet.Cells[j, 2].Text;
            ParamByName('IA').Value := Sheet.Cells[j, 3].Text;
            ParamByName('UR').Value := Sheet.Cells[j, 4].Text;
            ExecSQL;
Application.ProcessMessages;
          end;
        end;
      finally
        Screen.Cursor := crDefault;
        Excel.WorkBooks.Close;
        Excel.Quit;
        Excel := Unassigned;
        Sheet := Unassigned;
      end;
    end;
  end;
  FDQuery.Close;

end;

end;

相关阅读 >>

Delphi版的创建高权限进程

Delphi indy控件实现网络验证与asp通信

Delphi调试技巧

Delphi获取13位格林治时间实现方法

Delphi winapi: getwindowtext - 获取窗口标题

Delphi 获取鼠标当前位置的相对坐标

Delphi with do和for do语句

Delphi 把窗体客户区图像保存到文件或剪切板

Delphi中url的汉字编码

Delphi 字符串查找函数

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...