Delphi 中用 FireDAC 连接 Excel

今天遇到一个问 delphi 相关问题的,提问者“只会ADO的连接方式”,想知道“Delphi firedacquery如何连接EXCEL”,由此产生了一点兴趣,遂研究之,后记录之,供同好参考。

通常,在 Delphi 里编写一个桌面数据库应用的步骤可以很简单,拖曳4个控件即可:

- TADOConnect 控件,用于连接指定的数据库(ADO 驱动)

- TADOTable 控件,用于指定提供数据的数据表,也常用 TADOQuery 控件

- TDataDource 控件,用于在 数据集合(Table)  和 数据呈现(DBGrid)

- TDBGrid 控件,用于显示数据集合中的数据

为了提供更好的用户体验,可能还可以添加一个导航控件: 

- TDBNavigator 控件,用于对当前数据集进行添加记录、删除记录等的操作

总体大概如下图所示:

使用 FireDAC 组件建立数据库与此过程类似,现将步骤记录如下:

1、在工程中分别添加如下控件:

- TFDConnection 用于建立与数据源的连接

- TFDQuery  用于指定数据库中的数据表

- TDataSource 用于建立 数据表 与 数据显示 之间的桥梁

- TDBGrid 用于显示数据

建立完成如下图(与 ADO 方式并无大的区别):

2、双击 FDConnction1 图标,进入 FireDAC connection Editor 界面:

FireDAC 预提供了多种数据库支持,如:IBM DB2 Server、Microsoft SQL Server、MySQL Server、Oracle Server、Microsoft Access Database 等,其中没有 ADO,但提供了 ODBC,因此,可以选择使用 ODBC 方式来连接 Excel。

将 Driver ID 设置为 ODBC,如下图:

虽然现在就可以在表格填选各项设置,但推荐 点击 Wizard 按钮,使用 FireDAC 提供的向导功能来完成设置:

最终生成的设置如下图:

3、连接 FDConntion 和 FDQuery,双击 FDQuery 图标,进入 FireDAC Query Editor:

编写 SQL 语句:

select * from [sheet1$]

在此,有点需要提示的是:

 Excel 文件的工作簿中,通常会包含多个工作表(相当于数据库中的表),与通常 SQL 语句 Select 数据表名称表示方法不同,选择 Exce 的某个 Sheet,其表示方法如下:

[ sheet名$]

写完 SQL 语句后,可以点击 Excute 按钮,测试一下,如果正确,会在下方的 RecordSet 页中显示出 SQL 命令所获取的数据结果:

至此,用 FireDAC 连接 Excel 的关键部分基本完成,再将 FDQuery 与 DataSoure 和 DBGrid 连接起来即可。

小礼物走一走,来简书关注我



作者:梦游四海
链接:https://www.jianshu.com/p/b301ae86fdb6
 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值