读取EXCEL的某些列怎么写?
现在用的是SELECT * from;取得是全部的数据,我想要取第C,D,G,W列的数据        private DataSet Getds(string excelFilePath)
        {
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFilePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
            OleDbConnection OleConn = new OleDbConnection(strConn);
            OleConn.Open();
            DataTable schemaTable = OleConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
            string tableName = schemaTable.Rows[0][2].ToString().Trim();            // 这句改如何修改,才能取某些列,而不是所有的列
            String sql = "SELECT * FROM  [" + tableName + "]";
            OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
            DataSet OleDsExcle = new DataSet();
            OleDaExcel.Fill(OleDsExcle, "Sheet1");            OleConn.Close(); ;
            return OleDsExcle;
        }

解决方案 »

  1.   

    String sql = "SELECT A0, B0, C0 From [$sheet1]"
      

  2.   

    走到OleDaExcel.Fill(OleDsExcle, "Sheet1")时报异常
    至少一个参数没有被指定值。
      

  3.   

    SELECT A0, B0, C0 From [$sheet1]
     上面的A0,B0,C0是列的名称
      

  4.   

    就是写sql 语句。你要不知道有那些列 
    先用这个
     String sql = "SELECT * FROM  [" + tableName + "]";    
    查出所有的,            System.Data.DataSet ds = new System.Data.DataSet();
                foreach (System.Data.DataColumn dc in ds.Tables[0].Columns)
                {
                    string 列名 = dc.ColumnName;
                }
      

  5.   

    你可以在Excel中第一行给他们加一个表头,否则只能通过下表来取值了.
      

  6.   

    有可能系统自动给添加的列明是 F1,F2,F3...
      

  7.   

    http://blog.csdn.net/xianfajushi/article/details/8117568