在Excel Interop中获取相对地址

时间:2010-05-28 15:29:17

标签: excel-interop range

在使用Excel Interop库的C#程序中

如果指定了R1C1格式,Range.get_Address(...)方法似乎会返回相对地址only。库是否提供了获取相对A1样式地址的简单方法?

1 个答案:

答案 0 :(得分:1)

据我所知,没有单行代码,但以下代码应该返回您正在寻找的答案:

        Range rng1 = app.get_Range("C3");
        Range rng2 = app.get_Range("D10");

        string relativeAddress = rng2.get_Offset(-1, -1).get_Address(RowAbsolute:false, ColumnAbsolute:false, ReferenceStyle:XlReferenceStyle.xlR1C1, RelativeTo: rng1);
        string s = app.ConvertFormula(relativeAddress, XlReferenceStyle.xlR1C1, XlReferenceStyle.xlA1, false);