http://blog.csdn.net/zdliang/archive/2005/06/02/386346.aspx
我以前解决过的一个问题

解决方案 »

  1.   

            /// <summary>
            /// 获取sheet名
            /// </summary>
            /// <param name="fileName"></param>
            /// <returns></returns>
            public static string[] GetSheetsName(string fileName)
            {
                OleDbConnection oleconn = new OleDbConnection(GetConnstr(fileName));
                oleconn.Open();
                //返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等
                DataTable dtSheetName = oleconn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
                //包含excel中表名的字符串数组
                string[] strTableNames = new string[dtSheetName.Rows.Count];            for (int k = 0; k < dtSheetName.Rows.Count; k++)
                {                strTableNames[k] = dtSheetName.Rows[k]["TABLE_NAME"].ToString();
                }
                return strTableNames;
            }
      

  2.   

    dtSheetName.Rows[0]["TABLE_NAME"].ToString();//取出第一个工作表我名称