本文着重介绍要用ADO.NET库数据库方式访问Excel2003文件“Enclosure.xls”数据库访问Excel方法有2中,一种ADO.NET库,太麻烦;一种OLEdb简单。这里使用这种方法。下面进行学习探索。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\桌面\ADO.NET库Excel2003\Enclosure.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";Persist Security Info=False
注意这个ConnectionString语句中的“Extended Properties”处的“Excel 8.0”,“Excel”与ADO.NET库“ 8.0”之间要空格,如果少了,也会报错“找不到可安装的ISAM”,连接失败。
注:Indexed Sequential Access Method(ISAM——索引顺序访问方法)它是一种索引机制。#t#
用于高效访问文件中的数据行。ISAM(带索引序列存取法)是IBMADO.NET库公司发展起来的一个文件操作系统,可以连续地(按照他们进入的顺序)或者任意地(根据索引)记录任何访问。每个索引定义了一次不同排列的记录。一个职工数据库基于搜寻的信息可以有几个索引。
例如,按照职工所属科室的部门索引中,同时还有按照职工姓ADO.NET库氏字母顺序排名的名字索引。每个索引中的关键词都是制定的。对于职工名字字母顺序索引,姓就是指定的关键词。ISAM的开发早于VSAM(虚位存储通道法)。
如果是Excel是Excel2007,连接语句完全变化了:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0;HDR=YES";
SQL语法:"SELECT * FROM [sheet1$]"也就是excel 表单名字后必须跟 "$" 然后整个用[]括起来。ADOTable表也可以不使用[],但是用ADOTable,要将TableDirect属性设置为True。设置正确表名字,这样用ADOTabADO.NET库le连接也是可以的。