Lo hice de la misma forma que esta en el ejemplo y me funciono muy bien y eso que no queria hacerlo por medio de ADO, ademas le agregue que pudiera buscar la ruta del archivo de la siguiente forma
Código Delphi
[-]
procedure TFPrincipal.hojaCalculo;
begin
if ODabrirExcel.Execute then
begin
Modulo.DBExcel.ConnectionString :=
wideString('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ ODabrirExcel.FileName
+ ';Extended Properties=Excel 8.0;Persist Security Info=False');
Modulo.TExcel.Open;
EjecutarExcel;
end;
end;
procedure TFPrincipal.EjecutarExcel;
begin
try
try
begin
Modulo.TExcel.First;
while not Modulo.TExcel.Eof do
begin
if Modulo.QBuscarPaciente.Active then
Modulo.QBuscarPaciente.Close;
Modulo.QBuscarPaciente.ParamByName('id').AsString := Modulo.TExcel.Fields[0].AsString;
Modulo.QBuscarPaciente.Open;
if Modulo.QBuscarPaciente.RecordCount = 0 then
begin
Label1.Caption := Modulo.TExcel.Fields[0].AsString;
Label2.Caption := Modulo.TExcel.Fields[1].AsString;
Label3.Caption := Modulo.TExcel.Fields[2].AsString;
Label4.Caption := Modulo.TExcel.Fields[3].AsString;
Label5.Caption := Modulo.TExcel.Fields[4].AsString;
Label6.Caption := Modulo.TExcel.Fields[5].AsString;
Label7.Caption := Modulo.TExcel.Fields[6].AsString;
Label8.Caption := Modulo.TExcel.Fields[7].AsString;
end;
Modulo.TExcel.Next;
end;
end;
except
raise;
end;
finally
Modulo.TExcel.Close;
end;
end;
procedure TFPrincipal.Button1Click(Sender: TObject);
begin
hojaCalculo;
end;