现在的位置: 首页 > 综合 > 正文

Delphi导入EXCEL数据表的交互技术(全用代码实现)

2017年12月02日 ⁄ 综合 ⁄ 共 1276字 ⁄ 字号 评论关闭

       今天为能在Delphi中导入Excel数据调试了一天,网上也搜了很多资料,网上资料不太完整,对于新手学习能拷贝代码直接运行的代码少之又少,鉴于此本人最终调试成功的结果有必要放上来,以此为乐。

首先,新建Delphi Projects选择VCL Forms Application,在Form1表单上放置如下控件:

 

1、数据源控件ADOConnection、ADODataset和DataSource

2、文件控件OpenDialog

3、数据表DBGridEh(若用DBGrid请自行调试)

4、两个文本框Edit1和Edit2

5、2个按钮Button1和Button2

 

       再次,进行属性设置,ADOConnection1用默认值,ADODataset1的connection选择ADOConnection1,DataSource1的DataSet设置为ADODataset1,DBGridEh1的DataSource设置为DataSource1。

 

       最后放置如下代码:

procedure TForm1.Button1Click(Sender: TObject);    {打开路径}
begin
opendialog1.Filter:='Microsoft Excel Workbook (*.xls)|*.XLS|'+
  'Text files (*.txt)|Comma separated values (*.csv)|*.CSV|'+
  'Rich Text Format (*.rtf)|*.RTF';
if opendialog1.Execute then
  edit2.Text:=opendialog1.FileName;

end;

procedure TForm1.Button2Click(Sender: TObject);    {先重置连接并上传数据并可多次点击}
begin
  if edit2.Text<> '' then begin
  try
  ADODataSet1.Close;
  ADODataSet1.ConnectionString:='';
  ADODataSet1.ConnectionString:=
   'provider=microsoft.jet.oledb.4.0; data source='+edit2.Text +
    ';User ID=Admin;extended properties=excel 8.0;persist security info=false; ';
  ADODataSet1.CommandText := 'select * from [' + edit1.Text + '$]';
  ADODataSet1.Parameters.Clear;
  ADODataSet1.Parameters.ParseSQL(ADODataSet1.CommandText, true);
  ADODataSet1.Open;
  except
  end;
  end;

end;

PS:图中文件路径处J:\book2.xls 的为Edit2,工作表Sheet1的为Edit1。

运行OK,环境为Delphi 2010  DBGRIDEH 5.2.84

 

 

抱歉!评论已关闭.