zoukankan      html  css  js  c++  java
  • C# 读取Excel 和Access 文件

    读取Excel和Access文件驱动有两种ACE和Jet

    二者大同小异,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 是不可以的。

    /// <summary>
            /// 读取数据
            /// </summary>
            /// <param name="path"></param>
            public void SelectInfo(string path) {
                string Suffix = Path.GetExtension(path);
                //string tabName = "Student";
                string tabName = "";  //查询的表名 建议在窗体上面 加一个textbox控件
                if (tabName.Equals(""))
                {
                    tabName += "[sheet1$]";
                }
                string strConn = string.Empty;
                //path = Environment.CurrentDirectory;
                switch (Suffix)
                {
                    case ".xls":
                        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1;'";
                        //tabName += "$";
                        break;
                    case ".xlsx":
                        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
                       // tabName += "$";
                        break;
                    case ".mdb":
                        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path;
                        break;
                    case ".accdb"://Access2007
                        strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+path;
                        break;
                    default:
                        break;
                }
                OleDbConnection oledbConn = new OleDbConnection(strConn);
                try
                {
                 //   oledbConn.Open();
                    string sql = "Select * from " + tabName;
                    OleDbDataAdapter oledbDa = new OleDbDataAdapter(sql, oledbConn);
                    DataSet ds = new DataSet();
                    oledbDa.Fill(ds,"信息");
                    this.dgv_Info.DataSource = ds.Tables["信息"];
                }
                catch (Exception)
                {
    
                    throw;
                }
                finally {
                    oledbConn.Close();
                }
            }
  • 相关阅读:
    linux安装php
    linux安装apache
    linux文件目录结构
    第五篇 -- 学习第四天打卡20190616
    第四篇 -- 学习第三天打卡20190615
    第一篇 -- 《每天读一点经济学常识 》 --于台风
    第三篇 -- 学习第二天打卡20190614
    第二篇--学习第一天打卡20190613
    第一篇--程序员如何学英语
    第二篇--无题
  • 原文地址:https://www.cnblogs.com/zcwfb/p/15588164.html
Copyright © 2011-2022 走看看