7
votes

C # Excel sautant première ligne?

J'importe un fichier XLS en utilisant OLEDBCOMMAND vers une DS. Problème que je vais avoir, c'est lors de la foreach sur mon DS sa sautant pour la première rangée. Je ne peux pas comprendre pourquoi. Toute suggestion? XXX


7 commentaires

Votre feuille de calcul a-t-elle une rangée d'en-tête? Sinon, je suppose que cela pense que vous le faites et que cela traite la rangée supérieure comme les en-têtes de colonne.


Quelle est votre chaîne de connexion? Cela pense probablement que la première ligne est une en-tête et l'ignore.


Peut-être qu'il faut la première ligne comme titre?


Pouvons-nous voir votre "// reste de mon code", comme cela peut être le problème.


chaîne cnn = string.format ("fournisseur = microsoft.ace.oledb.12.0; Source de données = {0} {1} {2}; Propriétés étendues = Excel 8.0;", filélectricité, nom de fichier, fileExtension); var usine = dbproviderFactories.getFactory ("system.data.oledb");


À l'intérieur du forach, j'ai juste un test de string = rangée.itemarray [0] .tostring ();


@Doctajonez - pas d'en-têtes dans la feuille de calcul Excel. Les données démarrent la colonne1, Row1


3 Réponses :


0
votes

Vous l'avez peut-être dit de sauter la première rangée. Je me souviens d'une propriété qui ressemble à quelque chose comme Firstrowisheader. Je pense que si cela est défini sur true, alors il saute. Cela peut être changé au point que vous créez votre connexion


2 commentaires

Nope, le code est aussi collé. Aucune instruction pour ignorer la première rangée! Donc, à moins qu'il ne soit inférieur à vrai.


Oui, je pense que par défaut, il est défini sur TRUE, essayez de définir HDR = Non, utilisez ce Connexionstrings.com/excel



7
votes

Vérifiez votre chaîne de connexion. Il contient probablement: xxx

indique que la première ligne est un en-tête


1 commentaires

... et si c'est le cas, changez-le à hdr = no :)



14
votes

Modifier la chaîne de connexion (comme mentionné dans le commentaire) à partir de: xxx

à: xxx


0 commentaires