代码如下 | 复制代码 |
Provider=Microsoft.Jet.OleDb.4.0;Data Source=Excel文件位置;Extended Properties='Excel 8.0;HDR=NO;' |
在 Extended Properties 中,Excel 8.0 表示为版本号,Microsoft Jet 4.0 OLE DB Provider 支持 Excel 3.0,4.0,5.0,8.0 数据库类型。也就是说它不能连接 Excel 2007 的文件,对于 Excel 2007 文件,可以将其保存为 97-2003 的格式。
HDR=NO 表示 Excel 区域不包含标题,也就是说区域的第一行就是数据行,此时使用 F1 表示第一个字段,使用 F2 表示第二个字段,以此类推。
使用这种像数据库的方式操作 Excel 还有许多细节技术,将在后面的文章中一一介绍。
注意
Excel 也属性文件式数据库,注意使用后释放资源。
实例操作
代码如下 | 复制代码 |
string sql = @"select * from [Sheet1$]"; OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + while (reader.Read()) reader.Close(); |
注意数据类型
如果没有在 Excel 中为单元格指定数据的类型,那么 OLEDB 就通过猜测来获取当前单元格的数据类型。默认是对当前行的前后 8 行进行扫描,来猜测单元格的数据类型。要更改默认的扫描行数,则在连接字符串扩展属性中为 MAXSCANROWS 指定相应的值。
如果我们将单元格数据的类型指定为数字,那么写入 Excel 后就自动变为数字类型,即使在 SQL 语句中是将其当作字符串来插入,比如:set F18='832'。
我的博物馆故事 官方安卓版v1.61.2
我的博物馆故事是一款以消除为主题的经营养成类手游,在这里玩家
专业模拟飞行10 手机版v12.2.4
专业模拟飞行10安卓版是一款飞行休闲手游,顶尖的物理飞行引擎
动物起义战斗模拟器二琳同款 最新版v4.1.1
动物起义战斗模拟器是一个非常有趣的模拟类游戏,玩家可以召唤各
迷你世界七周年 安卓手机版v1.43.0
迷你世界7周年是一款由《迷你世界》官方推出的庆祝特别版本,在
劫后公司无限资源版 v1.0.5.1
劫后公司内置菜单版是游戏的破解版本,在该版本中为玩家提供了内