Посмотрев лучше на проблему, я наконец понял, что на самом деле я собирал результаты, где только первый элемент имеет значение.
Итак, в основном, этот код:
string txt = ws.Cells["G15:G18"].Value.ToString();
вернул бы массив, как с текстом для всех ячеек в диапазоне.
Но за исключением первой ячейки в массиве, все ячейки пусты. Только первая ячейка содержит Value
для всего диапазона.
То, что я сделал, так просто:
string val = ws.Cells["G15:G18"].First().Value.ToString();
Работало нормально.