我需要找出Cells
中的哪个Range
在合并范围内不可见。我需要包含空单元格,但我想排除由于合并单元格而看不到的单元格。 (在合并范围内,只有一个单元格,行,列可以包含非空值...?)。
我有以下代码:
using (XLWorkbook wb = new XLWorkbook(ExcelFile.FullName))
{
foreach (IXLNamedRange r in wb.NamedRanges)
{
foreach (var c in r.Ranges.Cells())
{
if (c.IsMerged() /*&& something*/)
continue;
/*Do processing of visible values*/
我需要从合并范围中获取可见的单元格,如果该值被填充(即不使用IsEmpty()
,则该合并范围将包含值)。我可以确定范围是否已合并,但是如何添加条件以仅包括可见单元格?它总是第一列/行吗? IsMerged()
会在合并范围内的所有像元上返回true
,不仅在不可见且不能包含值的像元上。
示例问题:
一个命名范围的地址为C21:D33。 我需要C21:C33的值,但我不需要包含值D21:D33-它们都始终为null。但是C21:C33的值也可以为null或为空,但我都需要它们。 D21:D33只能包含null,但不能包含其他任何内容,但是C21:C33可以包含非null值。我需要所有可以为非空的单元格。