• Excel的 OleDb 连接串的格式


    Excel的 OleDb 连接串的格式(Provider=Microsoft.ACE.OLEDB)(2012-08-02 13:04:20)

    string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;data source=" + filePath + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'"; //Excel 2007文件

    Provider=Microsoft.Jet.OleDb.4.0;data source=" + filePath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"; //Excel 2003文件

    Jet 引擎,可以访问Office97-2003,但不能访问 Office 2007。

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

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

    HDR 表示第一行是否是标题行。

    • 若为 YES,则第一行是标题行(即列名称),不是数据;
    • 若为 NO,则第一行不是标题行,跟后面的行一样,是数据。

    IMEX 表示混合数据类型时如何处理。

    • 若为 0,则为输出模式,此情况下只能用作写入 Excel;
    • 若为 1,则为输入模式,此情况下只能用作读取 Excel,并且始终将 Excel 数据作为文本类型读取;
    • 若为 2,则为连接模式,此情况下既可用作写入、也可用作读取。

    Excel 第一行第一列可以存储字符串,第二行第一列又可以存储数字……同样的列,存储不同的数据类型,这就形成了混合数据类型。

    所以若要读取混合数据类型,应该将 IMEX 设置为 1;若误设置为 0,则读取不到任何行;若误设置为 2 或省略,则有些数据读取出来是空白。

    ps:IMEX=1只确保在某列前8行数据至少有一个是文本项的时候才起作用,它只是把查找前8行数据中数据类型占优选择的行为作了略微的改变。例如某列前8行数据全为纯数字,那么它仍然以数字类型作为该列的数据类型,随后行里的含有文本的数据仍然变空。

    多一分冷靜,少一分浮躁
  • 相关阅读:
    Echarts关于仪表盘
    Echarts CPU监控 (折线仪表盘,图例混搭)
    物联网温度服务器-ECharts、HTML5、JavaScript / ECharts gauge使用示例
    eCharts使用图表简单示例
    Andorid之ActivityManager
    IOS之NSFileManager 和NSFileHandle
    IOS UITableView多选删除功能
    IOS Xib使用——Xib表示局部界面
    Android典型界面设计(8) ——ViewPager+PagerSlidingTabStrip实现双导航
    IOS程式语法之block的使用掌握
  • 原文地址:https://www.cnblogs.com/AnnyGird-LiMing/p/4988568.html
Copyright © 2020-2023  润新知