Excel+SQL数据库连接

一.语法格式

provider=Microsoft.ACE.OLEDB.12.0;
User ID=用户名;
Data Source=数据库完整路径及文件名;
Mode=模式;
Extended Properties="HDR=YES;IMEX=1";

二. 注解

2.1 关键字一览表

关键字说明
Provider指定OLE DB Provider for Microsoft Jet
User ID指定用户名。如果未指定此关键字,则默认使用字符串“admin”
Data Source指定数据库路径和文件名(例如:在:D:\示例.xlsx)
Mode指定的模式
Extended Properties其中HDR默认值为YES。表示第一行为字段名,否则第一行将作为内容。

2.2 HDR

“HDR=YES;”:表示第一行是列名而不是数据;“HDR=NO;”则与之相反;

2.3 IMEX

IMEX 用来告诉驱动程序,使用excel文件的模式。其值有0、1、2三种,分别代表导出、导入、混合模式。

2.3.1 IMEX=1

它是表示将强制混合数据转换为文本。如果同一列中既有数字值,也有文本值会出现严重问题。
缺点:只有确保在本列前8行数据中至少有一个是文本的时候才起作用,如前8行为纯数字。这与Excel ISAM[3](即索引顺序存取方法)驱动程序有关。
解决方法】:
可以通过修改“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel”下的注册表值来更改采样行数。但要注意Excel自身的版本。
如果是 Excel 2010:则将TypeGuessRows修改为1,048,576行,IMEX设为1;

三. 简单应用

3.1 提取工作表某单元格区域的数据

SQL连接字符串:

SELECT 销售单,料号,订单数量
FROM [订单表$A1:G80]
WHERE 料号="f215405" AND 订单数量> 25000

在这里,[订单表$A1:G80]就相当于一张表,只不过是存在于工作表的一个单元格区域中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

←か淡定☆ ヾ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值