2017-09-21 6 views
0

Utilisez OpenXML pour lire le fichier Excel, mais je rencontre un problème de lecture de ligne qui ne contient pas de données. ci-dessous est le code qui lit la ligne.Lecture du fichier Excel à l'aide des lignes OpnenXML -Reads vides

var firstOrDefault = sourceWorksheetPart.Worksheet.Elements<SheetData>().FirstOrDefault(); 
      if (firstOrDefault != null) 
      { 
       var sourceWorksheetRows = firstOrDefault.Elements<Row>();} 

ici quand je compte les sourceWorksheetRows il donne plus le nombre enregistre alors présents dans la feuille Excel. J'ai essayé de vérifier null, mais cela ne fonctionne pas. Comment mettre en œuvre le contrôle. Etes-vous sûr que la ligne est réellement nulle?

Répondre

0

Y a-t-il des espaces ou quelque chose dans une colonne à droite?

Essayez et supprimez et réinsérez les lignes qui doivent être nulles.

+0

En fait, il est gratuit pour l'utilisateur de télécharger le fichier Excel, un certain temps il peut être qu'il contient de l'espace, mais ont vérifié le fichier qu'il ne contenait aucune donnée. Donc besoin d'avoir vérifier ne pas traverser ces lignes qui ne contenaient pas de données. –

+0

Veuillez mieux décrire le problème. Donnez des exemples de données et exactement ce que vous voulez. Vous n'avez pas assez de détails ici pour que quelqu'un puisse répondre à la question. – dev8989

+0

Mon problème n'est pas de lire la ligne qui ne contient pas de données - signifie que si la ligne contient de l'espace ou n'importe quoi sauf le texte, la date, numérique, il ne devrait pas lire cela. –

0

Pour vérifier si la ligne est un enregistrement vide, vérifiez simplement la première cellule (ou toute cellule obligatoire pour l'enregistrement) de la ligne, puis vérifiez si CellValue est null ou si "Trim (CellValue.Text)". longueur == 0 ".

C'est la solution que je conseille.