如何检查一个Excel单元格是否属于一个范围,以及它的地址相对于范围
从我的C#应用程序,我正在使用WorkSheet.UsedRangefind工作表中的数据范围。
我需要检查一个特定的单元格C13是否属于UsedRange; 如果它属于,那么它的行号和列号在范围内。
例如,如果范围从行10和列B开始,那么C13是范围内的行4和列2。
我在这里发现了一个类似的问题: 检查选中的单元格是否在特定范围内
给出的解决scheme是Intersect方法。
但在C#中,Excel.ApplicationClass的Intersect方法需要大量的参数,而我可以将Missing.Value传递给这么多的参数,我想知道是否有其他方法,而不是使用Intersect方法。
谢谢。
这可以工作吗?
private static string GetRelativeAddress(Range cell, Range range) { int startRow = range.Row; int startColumn = range.Column; int endRow = range.Row + range.Rows.Count - 1; int endColumn = range.Column + range.Columns.Count - 1; if (cell.Row >= startRow && cell.Row <= endRow && cell.Column >= startColumn && cell.Column <= endColumn) { return $"R{cell.Row - startRow + 1}C{cell.Column - startColumn + 1}"; } return String.Empty; }