2009-06-15 7 views
0

J'utilise le code suivant pour extraire les noms de feuille Excel: (Voir le code ci-joint)Get Index de la feuille Excel à l'aide asp.net

Mais les données sont renvoyées triée par le nom des feuilles, et C'est le problème. J'ai besoin d'extraire le nom de la première feuille, par index.

Comment est-ce que je peux faire ceci?

String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + 
              "Data Source=" + fileSavePath + newFileName + ".xls; Extended Properties='Excel 8.0;HDR=NO;'"; 

OleDbConnection objConn = new OleDbConnection(sConnectionString); 

objConn.Open(); 

// Get the data table containg the schema guid. 
DataTable dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); 
string sheetName = "Sheet1$"; 

if (dt != null) { 
    try { 
      String[] excelSheets = new String[dt.Rows.Count]; 

      int i = 0; 
      foreach (DataRow rows in dt.Rows) { 
        excelSheets[i] = rows["TABLE_NAME"].ToString(); 
         i++; 
      } 

      sheetName = excelSheets[0]; 
     } 
     catch { 
       sheetName = "Sheet1$"; 
      } 
    } 

Répondre

Questions connexes