la lecture Excel Open XML est ignorer les cellules vides

Je suis en utilisant le solution retenue ici pour convertir une feuille excel dans une datatable. Cela fonctionne bien si j'ai "parfait" de données, mais si j'ai une cellule vide au milieu de mes données, il semble mettre le mauvais de données dans chaque colonne.

Je pense que c'est parce que dans le code ci-dessous:

row.Descendants<Cell>().Count()

est le nombre de peuplé de cellules (pas toutes les colonnes) ET:

GetCellValue(spreadSheetDocument, row.Descendants<Cell>().ElementAt(i));

semble trouver la prochaine peuplée de la cellule (pas nécessairement ce qui est de l'indice), donc si la première colonne est vide et je l'appelle ElementAt(0), il retourne la valeur de la deuxième colonne.

Voici tout le code d'analyse.

DataRow tempRow = dt.NewRow();

for (int i = 0; i < row.Descendants<Cell>().Count(); i++)
{
    tempRow[i] = GetCellValue(spreadSheetDocument, row.Descendants<Cell>().ElementAt(i));
    if (tempRow[i].ToString().IndexOf("Latency issues in") > -1)
    {
        Console.Write(tempRow[i].ToString());
    }
}
  • Merci de voir ceci réponse dans le même thread que vous avez mentionnés. Il a le correctif pour les cellules vides.
InformationsquelleAutor leora | 2010-10-01