那位高手知道如何实现用Delphi查询Excel文件中的数据? 例如我要得到Excel文件中数据"245"所在的行与列,不知能否实现?另外能否统计Excel文件的记录条数?请各位指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的思路是:在delphi中创建一个EXCEL实例,再使用EXCEL对象模型的方法,找到指定的数据,并选中,根据选中的内容取得他所在的行与列具体的方法可以在宏编辑器中试。我只写以下伪代码:varexcel as variant;beginexcel:=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] yuanzhouhang你的代码我试过了,可不知道为何有错误呢?请调试一下再写如何? 我加上了!代码如下: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);beginExcelApp := 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. 上面的代码总是到"ExcelApp.workbooks.sheets(1).find.text:='bbb';"出现错误!为什么??? DbGridEh功能询问 得到一个wma或mp3文件,如何用最简单的方法得到它的长度信息呢? dbgrid中如何删除单击的一条记录 怎样获取表的主键? 提取数据源求救! 为什么TcpClient.Connect一执行就程序死掉? 请问怎样实现用http协议来收发邮件? 新手上路,我送分,我自由!我想问大哥们一个很简单的问题!在线等候! dbgrid的使用 又一个关于installshield professional的奇怪问题! 这样的异常错误,怎么捕获? 怎样显示出它的错误码? 详见内容。 谢谢 大家响应下号召,推荐下我们版的精华帖啦~!谢啦谢啦~!
在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]
代码如下:
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.