这里有很多关于导数据到excel的帖子,找到了之后看一下,然后把导数据的过程反写一下就可以了。[email protected]

解决方案 »

  1.   

    终于找到相关的帖子了,不过还要请教一个问题:
    是否从Excel中读出来的数据都是作为string类型的?
    如:ExcelApp.Cells[i,1].Value 返回的是不是都是string类型?
      

  2.   

    用ADO连接Excel的文件,就可以象操作数据库一样对Excel进行操作。
      

  3.   

    用ADO怎么连,Provider里面没有提供Excel数据访问引擎
      

  4.   

    if opendialog2.Execute then  //readxls
    begin
        try
           xlapplication:=createoleobject('Excel.application');
           xlapplication.visible:=false;
        except
           application.messagebox('您的系统没有安装Excel,请安装后再使用本功能!','读取文件失败',mb_iconerror+mb_ok);
           xlapplication.free;
           abort;
        end;
    try
          try
                xlapplication.workbooks.open(opendialog2.FileName);
          except
                application.MessageBox('打开文件失败!','',mb_iconerror+mb_ok);
          end;
    sheet:=xlapplication.workbooks[1].worksheets[1];
          col:=sheet.usedRange.columns.count;
          query_person.fieldbyname(fields[k-1]).asstring:=trim(VarAsType(sheet.cells[row,k],varstring));
                    inc(row);
    query_person.ApplyUpdates;
                    query_photo.ApplyUpdates;
                    showmessage('数据导入完毕!');
    end
    else
    begin
    showmessage('您输入最小的校友编号必须大于'+inttostr(ls_curid)+'!');
    exit;
    end;
    end;
    finally
             xlapplication.displayalerts:=false;
             xlapplication.workbooks.close;
             xlapplication.quit;
             formProgress1.hide;
             formProgress1.Free;