zoukankan      html  css  js  c++  java
  • 使用OLEDB方式 读取excel和csv文件

    /// <summary>
            /// 使用OLEDB读取excel和csv文件
            /// </summary>
            /// <param name="path">文件所在目录地址</param>
            /// <param name="name">文件名</param>
            /// <returns></returns>
            public static DataSet ReadFile(string path, string name)
            {
                if (string.IsNullOrWhiteSpace(path) || string.IsNullOrWhiteSpace(name) || !File.Exists(path+name))
                    return null;
                // 读取excel 
                string connstring = string.Empty;
                string strSql = string.Empty;
                if (name.EndsWith(".xls") || name.EndsWith(".xlsx"))
                {
                    connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + name + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";
                    strSql = "select * from [sheet1$]";
                }
                // 读取csv文件
                else if (name.EndsWith(".csv"))
                {
                    connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='text;HDR=YES;FMT=Delimited';";
                    strSql = "select * from " + name;
                }
                else
                {
                    return null;
                }
                DataSet ds = null;
                OleDbConnection conn = null;
                try
                {
                    conn = new OleDbConnection(connstring);
                    conn.Open();
                    OleDbDataAdapter myCommand = null;
    
                    myCommand = new OleDbDataAdapter(strSql, connstring);
                    ds = new DataSet();
                    myCommand.Fill(ds, "table1");
                }
                catch (Exception e)
                {
                    throw e;
                }
                finally
                {
                    conn.Close();
                }
                return ds;
            }
  • 相关阅读:
    【转】acm小技巧
    poj-1703-Find them, Catch them
    poj-1611-The Suspects
    poj-2236-Wireless Network
    hdu-4496-D-City
    hdu-1213-How Many Tables
    hdu-1856-More is better
    gcd和ex_gcd
    递归趣文
    算法实质【Matrix67】
  • 原文地址:https://www.cnblogs.com/chenghu/p/3323297.html
Copyright © 2011-2022 走看看