可以在odbc中新建一个excel的数据源,然后就可以在BDE中连接了

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      vTemplate: OleVariant;
    begin
      with TExcelApplication.Create(nil) do try
        Disconnect;
        Connect;
        Visible[0] := True;
        vTemplate := EmptyParam;
        Workbooks.Add(vTemplate, 0);
        Disconnect;
      finally
        Free;
      end;
    end;
      

  2.   

    感谢zswang兄,但我想要的与excel连接是想从excel里读取数据,把excel当成数据库来用。不知哪位有好办法。
      

  3.   

    不知vernal兄说的那个用ODBC,建立以后,怎样在BDE中连接,请帮忙,小弟真是不知道。
      

  4.   

    那就用ADO来联接EXCEL文件哪,
    若在EXCEL中选中一片区,命名为ABC,则在ADO中TABLE名就是ABC
      

  5.   

    var
       excel,sheet:variant;
    begin
         excel:=createoleobject('Excel.application');// 建立Excel自动化服务器连接在
                          //  这里,'Excel.application'是自动化服务器名称,你可以在注册
                         //表中找到
         excel.workbooks.add; //添加一个工作簿;
         excel.visible:=true;  //把后台的excel调入前台。
           //前面的工作是Delphi的进程内服务器的调用方式,有时间可以看Delphi的Com
         sheet:=excel.activeworkbook; //设定当前工作簿。
         sheet.cell[1,1]:='Hello !'   //给第一格赋值.
    end;
    其它的参数还很多,你自己找把。可以在sohu中输入'控制Excel'搜索。
      

  6.   

    如果是要对excel纯粹的读的话,可以不用使用bde这样的工具去连接,直接使用ole对象就可以了procedure TForm1.Button2Click(Sender: TObject);
    var
      I,J : integer;
      TxtFile : TextFile;
      TmpString : String;
    begin
      try
        if VarIsEmpty(XlsApp) then
          XlsApp := CreateOleObject('Excel.Application');
        XlsSheet := XlsApp.workbooks.open('c:\my documents\book3.xls');    AssignFile(TxtFile,'C:\My Documents\Test.txt');
        Rewrite(TxtFile);
        try
          for I := 3 to 21 do
          begin
            TmpString := '';
            for J := 1 to 5 do
            begin
              TmpString := TmpString + XlsSheet.ActiveSheet.Cells[I,J].Text + '|';
            end;
            Writeln(TxtFile,Tmpstring);
          end;
        finally
          CloseFile(TxtFile);
        end;
        XlsApp.Visible := true;
      except
        XlsSheet.close;
        XlsApp.Application.quit;
        XlsApp := Unassigned;
        XlsSheet := Unassigned;
      end;
    end;以上是从excel中读取数据并写入文本文件的例子,请参考
      

  7.   

    对头,就是有这个问题,我刚刚遇到过
    问题的关键在于:对于EXCEL来说,Table控件中的表名指的EXCEL工作簿中某一区域的名字,
    可以用ODBC和Database控件连接EXCEL文件,具体方法
    新建一ODBC数据源,注意选择EXCEL工作簿,如果要对其进行读写操作,则应点击OPTIONS按钮,将readonly属性设置为无效,ODBC数据源建立好后,Database控件中设置ODBC DSN为刚才建立的ODBC数据源名字,连好数据库后,就可以用Table控件选择相应的表(其实是EXCEL工作簿中某一区域的名字)进行操作了
    这样就可以了
      

  8.   

    请问flg兄,我找你的做,用table控件还是找不到相应的表,请继续帮忙咯。
      

  9.   

    我觉得上面我的叙述,在表名这部分不是很清楚,所以再详细说一下这部分
    给某一片区域命名的时候这样做:
    1。选中一片区域
    2。选“插入”菜单下的“名称”——》“定义”——》在“在当前工作簿中的名称”处添上你起的名字比如BBB
    3。对于Table控件的各个属性,注意DATABASENAME属性设置成前面说的连了ODBC数据源的DATABASE控件中你取的数据库别名,TABLENAME属性设置成前面取的在当前工作簿中的名称BBB
    这样就完全搞定了,有问题再问就是了
      

  10.   

    to suary(小船):
    如果问题没有解决,最好就存疑,等其他人来给你解决。
    或者声明一下,
    一声不响地把分加给自己,别人会觉得你有作弊嫌疑。
    忠言逆耳,不过还是请君考虑:)