例如,在给定行号和列号的情况下,如何从 excel 中获取单元格地址
第 2 行和第 3 列应该返回 C2...请帮忙
最佳答案
我不是 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]);
}
RangeAddress
将采用任何 Excel 范围并将地址返回给您。如果您想要绝对样式(带有美元符号,例如 $C$3),那么您必须将 get_AddressLocal 调用的前两个参数更改为 true,true。
要从行/列对中获取单元格地址,您可以使用 CellAddress
。它确实需要一张纸来获取地址。但是,如果您不想提供工作表,则可以换入 (Excel.Worksheet)ActiveSheet
(这可能有效也可能无效,具体取决于您在 VSTO session 中打开的内容)。
关于c# - 我如何从excel中获取单元格地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2628603/