• 使用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 数据类型的列强制解析为文本。

  • 相关阅读:
    golang学习之旅:使用go语言操作mysql数据库
    golang操作mysql使用总结
    win7环境搭建以太坊私链
    golang面试题--string操作
    如何获得微信小游戏源码
    [Egret]长按截屏分享、分享截屏图片、本地存储
    android 6.0导航栏 NavigationBar影响视图解决办法
    android设置透明状态栏
    理解Android中的注解与反射
    Butter Knife
  • 原文地址:https://www.cnblogs.com/jacker1979/p/1971200.html
Copyright © 2020-2023  润新知