例如我要得到Excel文件中数据"245"所在的行与列,不知能否实现?另外能否统计Excel文件的记录条数?请各位指教!

解决方案 »

  1.   

    我的思路是:
    在delphi中创建一个EXCEL实例,再使用EXCEL对象模型的方法,找到指定的数据,并选中,根据选中的内容取得他所在的行与列
    具体的方法可以在宏编辑器中试。我只写以下伪代码:
    var
    excel as variant;
    begin
    excel:=CreateOleObject('Excel.Application');
    excel.open('excel文件名');
    excel.workbooks.sheets(1).find.text='245';
    excel.workbooks.sheets(1).find.execute;
    row:=excel.workbooks.sheets(1).selection.range.row;
    con:=excel.workbooks.sheets(1).selection.range.colomn;end;
    重申一下:EXCEL的具体方法可以在宏编辑器中试,
    如果还有问题,可以回信:[email protected]
      

  2.   

    yuanzhouhang你的代码我试过了,可不知道为何有错误呢?请调试一下再写如何?
      

  3.   

    我加上了!
    代码如下:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs,ComObj, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      ExcelApp: Variant;
    implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
    ExcelApp := CreateOleObject( 'Excel.Application' );
    ExcelApp.WorkBooks.Open( 'D:\Demo.xls');
    ExcelApp.workbooks.sheets(1).find.text:='bbb';
    ExcelApp.workbooks.sheets(1).find.execute;
    form1.Caption:=inttostr(ExcelApp.workbooks.sheets(1).selection.range.row);
    ExcelApp.WorkBooks.Close;
    ExcelApp.Quit;
    end;end.
      

  4.   

    上面的代码总是到"ExcelApp.workbooks.sheets(1).find.text:='bbb';"出现错误!为什么???