【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