none
C#导入Excel发现的问题 RRS feed

  • 问题

  • 查询语句如下select * from [Sheet1$],但是如果你的Excel中的sheet1重命名后,使用这个语句会报错,应该怎么改此语句?

    我想应该导入的同时获取此Excel的Sheet1的名字,然后把这个名字写在查询语句中,但不知道怎么做?大家有没有碰到过这样的问题?

    2010年4月14日 12:23

答案

  • 你可以先把EXECL中所有的SHEET表名称查出来,然后再指定查询哪个表

     

    string excelConnect = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + fileName + ";Extended Properties=Excel 8.0";
       string excelCom = string.Empty;
       OleDbConnection excelConn = new OleDbConnection(excelConnect);

     excelConn.Open();
        System.Data.DataTable excelDT = null;
        excelDT = excelConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
        string[] excelSheetsName = new String[excelDT.Rows.Count];
        int i = 0;
            foreach(DataRow row in excelDT.Rows)
        {
         // 得到表名.
         excelSheetsName[i] = row["TABLE_NAME"].ToString();
         i++;    
        }


    参照

    http://space.itpub.net/12476590/viewspace-263653

    http://blog.csdn.net/Helei_A/archive/2009/11/30/4906571.aspx


    努力+方法=成功
    2010年4月15日 1:18

全部回复