чтение Excel Open XML игнорирует пустые ячейки

Я использую здесь принятое решение для преобразования Excel в таблицу данных. Это отлично работает, если у меня есть «идеальные» данные, но если в середине моих данных есть пустая ячейка, кажется, что в каждый столбец помещены неправильные данные.

Я думаю, это потому, что в приведенном ниже коде:

row.Descendants().Count()

- это количество заполненных ячеек (не все столбцы) И:

GetCellValue(spreadSheetDocument, row.Descendants().ElementAt(i));

, похоже, находит следующую заполненную ячейку (не обязательно то, что находится в этом индексе), поэтому, если первый столбец пуст и я вызываю ElementAt (0), он возвращает значение во втором столбце.

Вот полный код синтаксического анализа.

DataRow tempRow = dt.NewRow();

for (int i = 0; i < row.Descendants().Count(); i++)
{
    tempRow[i] = GetCellValue(spreadSheetDocument, row.Descendants().ElementAt(i));
    if (tempRow[i].ToString().IndexOf("Latency issues in") > -1)
    {
        Console.Write(tempRow[i].ToString());
    }
}

42
задан Community 23 May 2017 в 12:10
поделиться