2010-03-17 12 views

Répondre

1

La clé est de vérifier le type de données de la valeur contenue dans la cellule. Si le type de données est un entier (Int32), la valeur retenue est une valeur CVErr. Pour vérifier # N/A, la cellule serait un type de données Integer (pas un double!) Contenant la valeur -2146826246.

Pour plus de détails, voir la question de dépassement de pile How to know if a cell has an error in the formula in C#.

0

Cela pourrait vous aider.Premièrement lire les données de l'excel.Veuillez voir cette question de la pile sur le flux. Convert Excel Range to ADO.NET DataSet or DataTable, etc. Puis itérer chaque ligne de la table de données comme

foreach (DataRow row in sheetTable.Rows) 
    { 
     foreach (DataColumn column in sheetTable.Columns) 
     { 
      // Check what ever you want to check 
      if (row[column].ToString().Equals("Error") || row[column] ==null) 
      { 
       // do something 
      } 
     } 
    } 
+0

Je dois valider des données sans les importer dans DataTable, avez-vous eu une autre idée? – Anonymous