【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
hello,world~~~
![](https://files-cdn.cnblogs.com/files/thingk/%E5%BE%AE%E4%BF%A1%E6%94%B6%E6%AC%BE%E7%A0%81.bmp)