Excel 连接字符串
来源:互联网 发布:亚裔 美国 知乎 编辑:程序博客网 时间:2024/06/06 04:49
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位环境下如何使用 JET >
标准连接的另一种语法
上面的语法如果不能正常工作时,可以下面的尝试这种语法,一些反馈中提到,Excel 2003需要附加在连接字符串首添加 OLEDB
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 等) "
或者使用 '
HDR=Yes,代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
"IMEX=1;" 通知驱动程序以文本格式读取混合型的列(如数字、日期、字符串等)。需要注意的是,这个选项可能会导致Excel文件的写入拒绝
SQL 语法 "SELECT [列名1], [列名12] FROM [Sheet1$]". 即Excel工作表名后加上"$",在"[ ]"内加入列名
检查本地注册表键值[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel]子键,找到其中的 "TypeGuessRows"(REG_DWORD数据类型)键。这个数值表示,决定ISAM驱动程序从前n条数据采样确定数据类型,默认为8,将这个值改成0,可以对所有行进行采样,不过性能开销很大。另请注意,有些时候,设置选项IMEX=1可能会导致IMEX驱动程序只进行8行采样。用IMEX=0代替可以确定注册表值TypeGuessRows=0起效
如果Excel设置了密码保护,将不能打文件开读取数据,哪怕是在连接字符串中配置了正确的密码,你会收到这样的错误信息 "Could not decrypt file"
双引号 " 需要在你的编程语言中进行字符转义处理
c#, c++ \"
VB6, VBScript ""
xml (web.config 等) "
或者使用 '
HDR=Yes,代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
"IMEX=1;" 通知驱动程序以文本格式读取混合型的列(如数字、日期、字符串等)。需要注意的是,这个选项可能会导致Excel文件的写入拒绝
SQL 语法 "SELECT [列名1], [列名12] FROM [Sheet1$]". 即Excel工作表名后加上"$",在"[ ]"内加入列名
检查本地注册表键值[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel]子键,找到其中的 "TypeGuessRows"(REG_DWORD数据类型)键。这个数值表示,决定ISAM驱动程序从前n条数据采样确定数据类型,默认为8,将这个值改成0,可以对所有行进行采样,不过性能开销很大。另请注意,有些时候,设置选项IMEX=1可能会导致IMEX驱动程序只进行8行采样。用IMEX=0代替可以确定注册表值TypeGuessRows=0起效
如果Excel设置了密码保护,将不能打文件开读取数据,哪怕是在连接字符串中配置了正确的密码,你会收到这样的错误信息 "Could not decrypt file"
ACE OLEDB 12.0
Excel 97-2003 .xls文件
可以在连接字符串中使用 Office 2007 OLEDB 驱动程序 (ACE 12.0) 连接老版的 97-2003 Excel 工作簿
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls;Extended Properties="Excel 12.0;HDR=YES";
HDR=Yes,代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
.NET Framework Data Provider for OLE DB
桥接到 Jet OLE DB 4.0
这里仅仅展示了一个OdbcConnection类的连接字符串例子,这个类封装了底层的OLEDB提供程序。结合本例,可以了解各种OLE DB提供程序的更多连接字符串。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
Microsoft Excel ODBC Driver
标准连接
Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;DefaultDir=c:\mypath;
SQL 语法 "SELECT [列名1], [列名12] FROM [Sheet1$]". 即Excel工作表名后加上"$",在"[ ]"内加入列名
关闭只读连接
[Microsoft][ODBC Excel Driver] 当操作必须要使用一个可更新的查询时,使用这种连接字符串可以避免错误
Driver={Microsoft Excel Driver (*.xls)};Dbq=C:\MyExcel.xls;ReadOnly=0;
Excel 的 ODBC 连接默认为只读,ReadOnly = 0 表示连接可更新
- String cnnstring = cnnstring = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " + xlsFilePath + ";Extended Properties=\"Excel 12.0;HDR=No;IMEX=1\"";
- DataSet ds = new DataSet();
- System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(cnnstring);
- System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", conn);
- try
- {
- adapter.Fill(ds);
- }
- catch (System.Exception ex)
- {
- ds = null;
- }
- excel连接字符串
- Excel数据连接字符串
- excel 字符串连接
- Excel 连接字符串
- excel连接字符串
- Excel 连接字符串
- BuildExcelConnectionString excel 连接字符串
- Excel字符串连接
- [数据库连接字符串] EXCEL 连接字符串
- excel 连接字符串的含义。
- excel 字符串连接和求差集
- Asp.net连接Excel字符串
- C#连接Excel的连接字符串
- C#连接Excel文件的连接字符串
- 在Excel中连接字符串的方法
- 关于Access和Excel的连接字符串
- ACE OLEDB 12.0连接字符串(Excel 2007)
- Excel单元格字符串连接(合并)实例
- DirectX函数大全总结3
- 编译工程时报java:[1,0] illegal character: \65279问题排查与解决过程
- Oracle各种启动程序方式详细介绍
- Android界面刷新的方法
- Oracle查询用户所有表的语句
- Excel 连接字符串
- gpio_request
- DirectX函数总结4
- HTTPS的七个误解
- 安卓手机ROM之 DIY纪实
- runlevel在Red Hat(以及其变种, 如CentOS和Fedora)和Ubuntu下的区别
- 关于“截断”的C程序
- Linux Crond服务
- 你正在成长为一名优秀的程序员吗?