我最近遇到一个很棘手的问题:用DELPHI写一个模块,功能是通过一个对话框,在浏览中选取一个Excel的表,在按导入按钮,将其内容导入SQL 2000中(事先将Excel的表名改为与SQL 2000中的相同,并且字段一一对应)
   现在我还有一个最大的难点就是怎样把Excel中表的记录一条一条的读取出来,在此请教各位.

解决方案 »

  1.   

    建议从本版中搜索相关内容,有这样的帖,关于EXCEL的数据导出和控制的
      

  2.   

    我说说两个方法,你试试吧。
    1. 用Delphi的控件TBatchmove,具体用法在Delphi的帮助中就有。应该是不用一条一条的读了。
    2. 如果不行,可以用OLE对象打开Excel文件。
    xlsLog : Variant;
    xlsLog := CreateOleObject('Excel.Application');
        xlsLog.Visible := False;
        if FileExists(edDestination.Text) then 
          xlsLog.Workbooks.Open(edDestination.Text);
    打开之后,可以用for循环读取每一个cell.
    注意:每一个sheet要用类似这样的方法读取:
    xlsLog.Workbooks[1].Worksheets[1]。