怎么实现将excel数据导入到access中!谢谢!!!

解决方案 »

  1.   

    try
           ExcelApplication1:=TExcelApplication.Create(application);
           ExcelWorkbook1:=TExcelWorkbook.Create(application);
           ExcelWorkSheet1:=TExcelWorkSheet.Create(application);
          except
           Application.MessageBox('没有安装EXCEL!','错误!',mb_ok);
          end;
          //ExcelApplication1.Workbooks.Add(emptyparam,0);
          ExcelApplication1.Workbooks.Open('c:\123.xls',null,true,null,null,null,null,null,null,null,null,null,null,i);
          ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
          ExcelWorkSheet1.ConnectTo(ExcelWorkbook1.WorkSheets[1] as _worksheet);    edit1.Text:=ExcelWorkSheet1.Cells.Item[1,3];//读excel数据,写入access就很简单拉
          ExcelApplication1.Workbooks.Close(0);
          ExcelApplication1.free;
          ExcelWorkSheet1.free;
          ExcelWorkbook1.free;
      

  2.   

    用ADO分別連接execl 、ACCESS,然後把execl逐條讀出,接著逐條存入ACCESS.
      

  3.   

    lypp(崆峒居士)能否再详细讲讲,
      

  4.   

    用ADO分別連接execl 、ACCESS,然後把execl逐條讀出,接著逐條存入ACCESS.
    //这个办法不错,我也准备说哩,呵。。
    就是用两个ADOquery了,一个读来一个写。
    找找资料,有讲ADO连接excell的。
      

  5.   

    procedure TFrm_inout.ImportExcel(sPathNameStr: String);
    var
      AA: OleVariant;
      sTempPath,sTableName: String;
    begin
      sTempPath := 'c:\temp.mdb';
      sTableName := 'temp';
      try
        AA := CreateOleObject('Access.Application');
        if not FileExists(sTempPath) then
          AA.NewCurrentDataBase(sTempPath)
        else
          AA.OpenCurrentDataBase(sTempPath);
        AA.DoCmd.TransferSpreadsheet(acExport,acSpreadsheetTypeExcel7,sTableName,sPathNameStr,true,'');    AA.CloseCurrentDatabase;
      except
        ShowMessage('文件格式有误,转换过程中发生错误!');
      end;
    end;
      

  6.   

    delphi的ado支持对excel的操作,把excel当作一个数据库
    连接方法同access
      

  7.   

    有二种方法是可行的。其一:你可以用一种方式把你的EXCEL 文件给连上而后读一条向ACCESS中写一条。
    其二:把EXCEL文件直接打开后读一条写一条的处理。
      

  8.   

    不要用ExcelApplication来导入数据,这样当然慢了,直接用ado来导入,ado本身就支持execl的.以下是ado组件的connectionstring的连接字符串Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=D:\我的文档\人事资料\在职\2001年11月在职职工98封定工资.xls;Mode=Share Deny None;Extended Properties=Excel 8.0;把其中的"Data Source=D:\我的文档\人事资料\在职\2001年11月在职职工98封定工资.xls"改成你的execl文件,就可以直接用adotable或adoquery来打开处理了.这样的效率将是你原来方法的N倍!
      

  9.   

    我用ADO去连接Excel怎么不行呢?
      

  10.   

    由于Excel格式不是很严格,可以先把Excel另存为其他各式,我一般用dbf,然后再用Acess导入。