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?
3 Réponses :
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 p>
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 a>
Vérifiez votre chaîne de connexion. Il contient probablement: indique que la première ligne est un en-tête p> p>
... et si c'est le cas, changez-le à hdr = no code> :)
Modifier la chaîne de connexion (comme mentionné dans le commentaire) à partir de: à: p>
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