ADOquery를 이용해서 엑셀파일을 읽어올때
그 엑셀파일을 열어놓지 않으면
"외부테이블 형식이 잘못되었습니다" 라는 에러 메세지가 뜹니다.
물론 엑셀파일을 열어놓고 실행하면
제대로 작업이 진행되구요.
뭔가 빠진것 같은데 모르겠네요.
소스를 조금 적어보겠습니다.
if OpenDialog1.Execute then
begin
//-------------------------------------------
ADOQuery1.close;
ADOQuery1.ConnectionString :=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
OpenDialog1.FileName +
';Extended Properties=Excel 8.0;Persist Security
info=False';
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := 'SELECT * FROM [급여$]'; <--여기에서 에러가 걸립니다
ADOQuery1.open;
//-------------------------------------------
while not ADOQuery1.Eof do
begin
........
ADOQuery1.Next;
end; //while1 - end
end else
begin
pnlMsg.Caption := ' ';
exit;
end;
var MyExcel : variant;
begin
try
MyExcei := CreateOleObject('Excel.Application');
MyExcel := ('[APP.MAXIMIZE()]');
Except
On EOleError do Exit;
end;