【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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM