Что ж, вы сейчас проверяете, равен ли размер ячейки нулю. В сетке каждая ячейка в столбце имеет одинаковую ширину, а каждая ячейка в строке имеет одинаковую высоту (как правило, в любом случае).
Вы хотите выполнять проверку на основе значения ячейки. Например:
if (cell.Value == null || cell.Value.Equals(""))
{
continue;
}
Настройте это для любых других представлений "пустых" значений, которые вас интересуют. Если есть много, вы можете написать для этого определенный метод и вызвать его в проверке:
if (IsEmptyValue(cell.Value))
{
continue;
}