Как в c# выбрать нужные ячейки из Excel?

222
04 июня 2018, 06:00

В общем, есть документ excel в котором есть 2 нужных столбца. Столбцы с данными от J7 до n и от K7 до n.

Как мне установить начальную позицию на эти ячейки и считывать столбцы пока J7+n != null и K7+n != null ?

var workbook = new Workbook(PathToFile);
var worksheet = workbook.Worksheets[0];
var positions = ???
???
foreach (Row row in positions)
{
    var item = new Disclaimer
    {
        Count = (int) row[J7 + n].Value,
        Price = (decimal) row[K7 + n].Value
    };
    Items.Add(item);
}

Подскажите пожалуйста, буду благодарен.

Answer 1

Решил сам. Может кому пригодится. row[9] - это ячейка соответствующая ячейке столбца J. (J - 10-я буква англ. алфавита, 9-я в коде потому что начинается счет с 0). Следовательно row[10] - столбец K.

var workbook = new Workbook(PathToFile);
var worksheet = workbook.Worksheets[0];
var positions = worksheet.Cells.Rows.Cast<Row>().ToArray().Where(row => !string.IsNullOrWhiteSpace(row[9].StringValue) && row[9].Value is int);
foreach (Row row in positions)
{
    var item = new Disclaimer
    {
        Count = (int) row[9].Value,
        Price = (double) row[10].Value
    };
    Items.Add(item);
}
READ ALSO
C# многопоточость

C# многопоточость

Пишу самый обычный чат з помощью SocketТакой вопрос: на каждого пользователя, который подключился стоит выделять отдельный поток или все делать...

241
Azure Service Bus

Azure Service Bus

Есть ли возможность удалить сообщение из Azure Service Bus Topic по его идентификатору?

221
Как сделать выборку по двум связанным таблицам?

Как сделать выборку по двум связанным таблицам?

Надо добавить first_name, last_name, department_id, department_name

271
Django inspectdb из старой версии MySQl 4.0

Django inspectdb из старой версии MySQl 4.0

Исходные данные: - Версия старого сервера MySQL 40

255