【delphi】delphi的TAdoQuery读取Excel数据

1. 连接

需要设置TAdoQuery的连接串Connection,将其指向excel文件:

'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=' + excelname + ';' +
    'Mode=ReadWrite;Extended Properties=Excel 12.0;Persist Security Info=False';

然后设置sql属性为:

select * from [list&];   //此处的list为excel工作表的名称,后面带一个$,且只能读取单工作表,多工作表还没解决

设置好以后就可以读取excel内容,就像是读取一个数据表内容一样:

try
    with qryexcel do
    begin
      open;
      First;
      dqrow := 1;
      while not Eof do
      begin
        if dqrow > 1 then // 从第3行开始正式内容
        begin
         
          sqls := Format(' call pro_addOneStudent (' +
            '''%s'',''%s'',''%s'',''%s'' )',
            [FieldByName('StuName').AsString, FieldByName('Sex').AsString,
            FieldByName('School').AsString, FieldByName('Grade').AsString]);
with qry do
          begin
            qry.close;
            qry.SQL.Clear;
            qry.SQL.Add(sqls);
            log(sqls);
            qry.ExecSQL;
          end;

        end;
        dqrow := dqrow + 1;
        Next;
      end;
    end;
  except
    on e: Exception do
    begin
      Result := e.Message;
      end;
  end;

2. 遇到连接异常或是未安装某程序

下载并安装AccessDatabaseEngine.exe
原文地址:https://www.cnblogs.com/thingk/p/3934886.html