zoukankan      html  css  js  c++  java
  • 使用OpenRowSet操作Excel

    有两种接口可供选择:Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎)。

    Jet 引擎大家都很熟悉,可以访问 Office 97-2003,但不能访问 Office 2007。

    ACE 引擎是随 Office 2007 一起发布的数据库连接组件,既可以访问 Office 2007,也可以访问 Office 97-2003。

    另外:Microsoft.ACE.OLEDB.12.0 可以访问正在打开的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。

     

    语法举例: 

    --> Jet 引擎访问 Excel 97-2003   

    1. select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0''Excel 8.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls''select * from [Sheet1$]')   
    2. select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0''Excel 8.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls', [Sheet1$])   
    3. select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0''Excel 8.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls')...[Sheet1$]   
    4. select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0''Data Source=D:\97-2003.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"')...[Sheet1$]   

     

    --> ACE 引擎访问 Excel 97-2003   

    1. select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0''Excel 12.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls''select * from [Sheet1$]')   
    2. select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0''Excel 12.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls', [Sheet1$])   
    3. select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0''Excel 12.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls')...[Sheet1$]   
    4. select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0''Data Source=D:\97-2003.xls;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$]   
    5.   

    --> ACE 引擎访问 Excel 2007   

    1. select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0''Excel 12.0;HDR=Yes;IMEX=1;Database=D:\2007.xlsx''select * from [Sheet1$]')   
    2. select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0''Excel 12.0;HDR=Yes;IMEX=1;Database=D:\2007.xlsx', [Sheet1$])   
    3. select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0''Excel 12.0;HDR=Yes;IMEX=1;Database=D:\2007.xlsx')...[Sheet1$]   
    4. select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0''Data Source=D:\2007.xlsx;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$]  

    注:

    Excel 2007 工作簿文件的扩展名是:xlsx

    HDR=Yes/No

    可选参数,指定 Excel 表的第一行是否列名,缺省为 Yes,可以在注册表中修改缺省的行为。

    IMEX=1

    可选参数,将 Excel 表中混合 Intermixed 数据类型的列强制解析为文本。

  • 相关阅读:
    看看时间,我的博客都有一年了。
    asp.net 读取数据库生成百度sitemap_baidu.xml和谷歌sitemap.xml
    克隆后自动改IP计算机名的批处理
    网奇iwms插件之“我浏览过的文章”
    Jetty7 Continuation 学习(一)
    PostgreSQL 和 MySQL 创建帐号,数据库,权限
    OpenLayers 学习笔记 (3) 使用 Google Maps 作底图
    Tomcat 和 Jetty 下 JNDI 配置 DBCP 连接池
    PostgreSQL 中 POLYGON 到 MULTIPOLYGON 的转换
    CentOS 5.4 安装 DNS
  • 原文地址:https://www.cnblogs.com/jacker1979/p/1971200.html
Copyright © 2011-2022 走看看