Я извлекаю данные из ячеек в электронной таблице Excel, используя Open XML in C#. Я хочу получить данные, только если ячейка видна в электронной таблице. Я могу получить все ячейки с кодом ниже:
var cells = part.Worksheet.Descendants<Cell>;
Затем я могу использовать свойство CellReference.Value, чтобы выяснить, к какому столбцу принадлежит ячейка.
Приведенный ниже код даст мне видимые столбцы в электронной таблице.
var visible_columns = part.Worksheet.Descendants<Column>().Where(a => a.Hidden == null || a.Hidden.Value == false);
Я застрял, пытаясь программно связать объект ячейки с его объектом столбца. Из того, что я могу сказать, нет свойства на объекте столбца, чтобы получить его имя. В идеале я хотел бы получить имя столбца из свойства «CellReference.Value» объекта ячейки с помощью регулярного выражения. После этого я мог использовать его для получения связанного объекта столбца, который затем мог бы использовать для проверки свойства Hidden.
Я также посмотрел на свойство "Parent" объекта ячейки, но это дает мне объект Row, который не решает мою проблему. Может кто-то указать мне верное направление?
Спасибо