Menu

Cellules excel pleinnent mais apparaissent vide

ermaladouce - 7 mars 2018 à 15:58 - Dernière réponse : Whismeril 11649 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 juin 2018 Dernière intervention
- 8 mars 2018 à 12:58
Bonjour,

j'ai créer une application (c# visual studio 2015) qui consomme le fichier Excel, tout ce passe bien , mais dans certain fichiers, des cellules apparaissent vide dans le code même si en réalité ils contiennent des données. :-o !!!
J'ai besoin de votre aide et merci d'avance
Afficher la suite 

Votre réponse

6 réponses

Whismeril 11649 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 juin 2018 Dernière intervention - 7 mars 2018 à 16:49
0
Merci
Bonjour.

En regardant dans ma boule de cristal, je pense qu’il te manque un ; à la ligne 2.

Ha pardon, tu voulais une réponse sérieuse? Alors il faut poser une question à laquelle on peut répondre.

Il y a plusieurs façons d’accéder à un fichier excel en C#, il y a plusieurs formats de fichiers excel etc...
Comment veux tu que l’on puisse répondre sans plus d’infos.

Tout d’abord le code d’accès aux données, avec la coloration syntaxique en spécifiant bien que ton code est du csharp, voir explications ici
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Ensuite, si cela est possible un fichier excel qui pose problème (sans données confidentielles) en précisant quelles cellules.
Il faut passer par un hébergeur tiers comme cijoint ou free gros fichier.
désolé :-) ,
voila le code :

DataSet myDataset = new DataSet();
OleDbDataAdapter myData = new OleDbDataAdapter();

 string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;  Data Source=" + chemainFichier+ "; Extended Properties=Excel 8.0;";

myData = new OleDbDataAdapter("SELECT * FROM [Feuil3$]", strConn);
myData.Fill(myDataset);
 
for (int i = 0; i < myDataset.Tables[0].Rows.Count; i++)
                {
                     if (string.IsNullOrEmpty(myDataset.Tables[0].Rows[i][1].ToString()))
                        {
                            //  des instructions a faire
      
                        }
       }
Whismeril 11649 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 juin 2018 Dernière intervention - 7 mars 2018 à 19:43
Merci à Chris d'avoir mis la coloration syntaxique c'est enfin lisible.

Le truc qui m'interpelle c'est
if (string.IsNullOrEmpty(myDataset.Tables[0].Rows[i][1].ToString()))
                        {
                            //  des instructions a faire
      
                        }

Tu ne fais donc des instructions que si la cellule est vide?
oui, si la cellule est vide j'enregistre son nom dans la table des rejets et je ne consomme pas le fichier, sinon je continu le traitement.
le problème et que certain cellules contient des données mais quand je contrôle pas a pas, le "myDataset.Tables[0].Rows[i][1].ToString()" est vide .
Whismeril 11649 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 juin 2018 Dernière intervention - 8 mars 2018 à 12:58
Ok là, sans exemple de fichier je ne sais
Commenter la réponse de Whismeril