public string [] GetSheetNameList( string excelFilePath , string[] colList )
{
    Excel.Application myExcel=new Excel.Application ( ) ;
    try{
  

           object oMissing = System.Reflection.Missing.Value ; myExcel.Application.Workbooks.Open(excelFilePath,oMissing,oMissing,oMissing,oMissing,oMissing,
oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing ) ; Excel.Workbook myBook = myExcel.Workbooks[1] ;
int sheetNum = myBook.Worksheets.Count ;
string [] col = null ;
ArrayList totalName = new ArrayList();
for( int i = 1 ; i <= sheetNum ; i ++ ){
       col = this.GetColumnsNameList( excelFilePath , i ) ;
   if( col==null || col.Length == 0 || col.Length != colList.Length )
continue ;
   for( int j = 0 ; j < col.Length ; j ++ )
  {
if( col[j].Trim() != colList[j].Trim() )
continue ;
}
Excel.Worksheet xlsheet = (Excel.Worksheet)myBook.Worksheets[i] ;
totalName.Add( xlsheet.Name ) ;
}
//===========2003.11.28=============
string [] sheetName = new String[ totalName.Count ] ;

for( int i = 0 ; i < totalName.Count  ; i ++  )
{
sheetName[i] = totalName[i].ToString().Trim();
}
myExcel.Application.Workbooks.Close( ) ;

                Marshal.ReleaseComObject( myExcel ) ;
return sheetName;
}
catch{
Marshal.ReleaseComObject( myExcel ) ;
return null ;
}
}