- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Excel连接字符串在
Excel连接字符串在.NET中的应用介绍几种在.NET中直接连接Excel作为数据源的几种方法以及连接字符串的说明。
Microsoft Jet OLE DB 4.0
Provider=Microsoft.Jet.OLEDB.4.0;Data?Source=C:\MyExcel.xls;Extended?Properties=Excel?8.0;HDR=Yes;IMEX=1;
64位机器可以看这里/Articles/Show/using-jet-in-64-bit-environments。
如果上面的连接字符串不奏效,可以尝试下面的格式。有些早期版本的2003格式的Excel文件需要在连接字符串中添加OLEDB前缀作为Provider标识。
OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data?Source=C:\MyExcel.xls;Extended?Properties=Excel?8.0;HDR=Yes;IMEX=1;
连接字符串中的双引号是必须的,请注意在代码中进行转义。
C#,C++中使用\对双引号进行转义。
VB6,VBScript中使用对双引号进行转义。
XML(或web.config)中使用quot;对双引号进行转义。
HDR=Yes;用于指示将Excel表格中的第一行作为标题,此时在查询语句中可以将标题作为数据表的字段名使用。HDR=No;则表示将Excel表格中的所有行都作为数据内容而不包含标题,此时在查询语句中需要使用F1,F2等作为字段名。如第一列为F1,第二列为F2等,以此类推。
IMEX=1;用于指示始终将Excel单元格中的内容作为text类型的数据。该选项会对Excel文件内容的回写产生影响。
SQL语法:Select [Column Name One], [Column Name Two] From [Sheet One$]。注意Excel wooksheet的名字必须以$结尾并且包含在方括号中。列名如有需要也应当包含在方括号中(如列名中包含有空格其它特殊字符等)。
如何通过程序获取指定Excel文件中各个Sheet的名称?
using?(OleDbConnection?connection?=?new?OleDbConnection(connectionString)){????DataTable?dt?=?connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,?new?object[]?{?null,?null,?null,?Table?});????string?sqlStr?=?Select?*?From ?+?dt.Rows[0][TABLE_NAME].ToString();}
除了表名和列名的写法有所不同外,SQL语句的使用方法和在SQL Server中基本相同。在.NET中数据访问层仍然可以使用OleDbHelper类,使用方法与普通的数据库一样。
另外,如果指定的Excel文件需要密码才能打开,你需要在连接字符串中提供连接密码,否则打开Excel文件会失败。具体的内容可以看这里,
/Articles/Show/how-to-open-password-protected-excel-workbook
?
ACE OLEDB 12.0
Provider=Microsoft.ACE.OLEDB.12.0;Data?Source=c:\myFolder\myOldExcelFile.xls;Extended?Properties=Excel?12.0;HDR=YES;
使用ACE 12.0可以连接早期版本(97-2003)的Excel文件,对于2003以后版本的Excel也通用,但前提是Office组件中安装了对应的ACE,否则无法使用。可以去下面的地址下载ACE组件。
/download/en/details.aspx?id=13255
该连接字符串同样适用于Xlsb和Xlsm格式的Excel文件。
?
Microsoft Excel ODBC Driver
Driver={Microsoft?Excel?Driver?(*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;DefaultDir=c:\mypath;
使用ReadOnly=0表示连接是只读的,所有对数据源的更新操作将不可回写。
Driver={Microsoft?Excel?Driver?(*.xls)};Dbq=C:\MyExcel.xls;ReadOnly=0;
?
.NET xlReader for Microsoft E
文档评论(0)