【delphi】delphi的TAdoQuery读取Excel数据

时间:2023-03-10 01:03:23
【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 := ;
while not Eof do
begin
if dqrow > 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 + ;
Next;
end;
end;
except
on e: Exception do
begin
Result := e.Message;
end;
end;

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

下载并安装AccessDatabaseEngine.exe