Я использую EPPlus для создания документа xlsx.
Моя модель, представленная ниже, включает List<string>
, и вот тут мне все сложнее:
var tableBody = worksheet.Cells["B2:B2"].LoadFromCollection(
from f in saaOperators.OrderBy(x => x.Identifier).Where(t => t.Identifier.StartsWith(worksheet.Name) ||
(t.Identifier.StartsWith("W") && worksheet.Name.Equals("BIR")))
from u in f.Units
select new { f.Identifier, f.Name, f.Profile, u }, true);
Если я делаю select new {f.Identifier, f.Name, f.Profile, f.Units }
, он возвращает только первый элемент в списке Units
.
Если я делаю select new { f.Identifier, f.Name, f.Profile, u }
для каждого элемента в Units
, он создает новые строки с дубликатами Identifier
, Name
и Profile
.
Вот мой класс модели:
public class SaaOperator
{
public string Identifier { get; set; }
public string Name { get; set; }
public string Profile { get; set; }
public List<string> Units { get; set; } = new List<string>();
}
Как правильно идентифицировать ячейки с одинаковыми значениями для Identifier
, Name
и Profile
и объединить их?
Например, на скриншоте ниже мне нужно объединить B3:B4
, B5:B6
, C3:C4
, C5:C6
, D3:D4
, D5:D6.
Я знаю, что могу использовать worksheet.Cells["B3:B4"].Merge = true;
, но мне нужен способ, чтобы программно идентифицировать начальную и конечную ячейки с одинаковым значением.
EDIT 1: Добавлен скриншот с дублированными значениями.
РЕДАКТИРОВАТЬ 2 - Исходя из комментария Эрни, мне нужен способ программного поиска в таблице для ячеек с одинаковым значением и объединения их.