zoukankan      html  css  js  c++  java
  • csharp_read_execl

    blog:http://www.cnblogs.com/solq

        string Connection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:/test.xlsx;Extended Properties=\"Excel 12.0;HDR=No;IMEX=1\";";
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/test.xls;" +  "Extended Properties='Excel 8.0'";
            private void readExecl()
            {
    
                OleDbConnection con = new OleDbConnection(Connection);
    
                #region 
                
                /*
                    获取多少个表。。。。。
                 */
                con.Open();           
                DataTable sheetsName = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
    
                Console.WriteLine(sheetsName.Rows.Count);
                Console.WriteLine(sheetsName.Rows[0][2].ToString()); // get table name
    
                #endregion
                /*
                //读取方式一      
                OleDbDataAdapter myCommand = new OleDbDataAdapter("select * from [Sheet1$]", con);
    
                DataTable dt = new DataTable();
                myCommand.Fill(dt);
    
                DataSet set = new DataSet();
                myCommand.Fill(set);
               
                foreach (DataRow r in dt.Rows)
                {
                   
                    String str = r[0].ToString();
                    //Console.WriteLine(str);
                }*/
    
                /*
                    如果只想读取前两列可以用:select * from [Sheet1$A:B]
                    如果只想读取A1到B2的内容,就用:select * from [Sheet1$A1:B2]
                 */
                //读取方式二
                string sql = string.Format("SELECT * FROM [{0}$] ", "Sheet1");
                OleDbCommand myOleDbCommand = new OleDbCommand(sql, con);
                OleDbDataReader myDataReader = myOleDbCommand.ExecuteReader();
                //myDataReader.Read();
                //myDataReader.Read();
                while (myDataReader.Read())
                {
                    for(int i=0; i< myDataReader.FieldCount;i++)
                    {
                        string c=Convert.ToString(myDataReader.GetValue(i));
                        Console.Write(c+"\t");
                    }
                    Console.WriteLine("");              
                }
                myDataReader.Dispose();
                con.Close();
            }

    https://files.cnblogs.com/solq/csharp_read_execl.rar

    最终版吧。。。

    https://files.cnblogs.com/solq/read_execl.rar

  • 相关阅读:
    反射
    ASP.NET
    解析命令行
    Private和Protected方法
    洗牌算法
    目标指向、Icon图标的错误
    数字签名与数字证书
    (Java实现) 最大团问题 部落卫队
    (Java实现) 最大团问题 部落卫队
    (Java实现)洛谷 P1164 小A点菜
  • 原文地址:https://www.cnblogs.com/solq/p/2490727.html
Copyright © 2011-2022 走看看