如何从excel获取Cell地址

Sat*_*ish 8 c# excel

如果给出行和列号,我如何从excel获取Cell地址

第2行和第3列应返回C2 ...请帮助

Joe*_*win 10

我不是VSTO C#的大用户 - 我通常选择VBA.但是,以下一对功能可能对您有用.不确定他们是否可以更精简:

public string RangeAddress(Excel.Range rng)
{
    return rng.get_AddressLocal(false, false, Excel.XlReferenceStyle.xlA1,
           missing, missing);
}
public string CellAddress(Excel.Worksheet sht, int row, int col)
{
    return RangeAddress(sht.Cells[row, col]);
}
Run Code Online (Sandbox Code Playgroud)

该RangeAddress会采取任何Excel范围和扔你回来的地址.如果你想要绝对样式(带有美元符号,例如$ C $ 3),那么你必须将get_AddressLocal调用的前两个参数更改为true,true.

要从行/列对中获取单元格地址,您可以使用CellAddress.它确实需要一张表来获取地址.但是,(Excel.Worksheet)ActiveSheet如果您不想提供工作表,则可以交换(这可能会也可能不会起作用,具体取决于您在VSTO会话中打开的内容).