zoukankan      html  css  js  c++  java
  • 【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
  • 相关阅读:
    解决函数内this指向
    .Math 数值对象
    时间函数
    数学中的弧度和角度
    闭包
    在拖拽元素的时候,如果元素的内部加了文字或者图片,拖拽效果会失灵?
    正则
    JS高级-事件对象
    JS高级-事件捕捉
    JS高级-面向对象
  • 原文地址:https://www.cnblogs.com/thingk/p/3934886.html
Copyright © 2011-2022 走看看