Lecture d'une colonne dans Excel avec différents types d'informations sur chaque ligne

J'essaie de lire un document Excel avec un programme que j'ai écrit et basé sur les informations lues, modifie certains champs de mon interface user et je me heurte à un problème intéressant.

Une de mes colonnes peut contenir 4 types différents de données. Chaque cellule de la ligne peut contenir un nombre, un numéro enregistré sous forme de text, de text ou de rien.

Voici la section du code que j'utilise pour lire cette colonne:

try { ssortingng dtTerritory = dt.Rows[0].Field<ssortingng>("Territory"); cmbTerritory.SelectedItem = dtTerritory; territory = dtTerritory; } catch { double dtTerritory = dt.Rows[0].Field<double>("Territory"); cmbTerritory.SelectedItem = dtTerritory.ToSsortingng(); territory = dtTerritory.ToSsortingng(); } 

Le problème auquel je suis impliqué est de lire un numéro enregistré en tant que text, et le problème est que lorsque les numbers sont stockés sous forme de text sur la feuille Excel, ils sont toujours stockés en 3 caractères. Donc, si le nombre est 3, il est stocké comme "3" (2 espaces après le 3) s'il est 46, il est stocké comme "46" (1 espace après le 46).

Je search essentiellement la meilleure solution sur la façon dont mon programme ignore les espaces qui se produisent après le numéro. Des idées?

Je viens juste de lire datatables en tant que text et ensuite de les traiter pour voir si vous pouvez le convertir en un nombre ou non.

Donc, en premier lieu, vous devez recadrer le text:

 dtTerritory = dtTerritory.Trim(); 

Ensuite, vérifiez si c'est alors une string vide:

 if (!ssortingng.IsEmptyOrWhileSpace(dtTerritory)) { // Process further } 

Ensuite, votre traitement ultérieur consiste à essayer d'parsingr le text:

 double value; if (double.TryParse(dtTerritory, out value)) { // do your double value handling here. }