【问题标题】:Getting the Column name part in the address of an excel address获取excel地址地址中的列名部分
【发布时间】:2012-08-31 22:06:31
【问题描述】:

我有这段代码可以获取工作表中最后一个单元格的地址。它返回 "$U$463",我怎样才能让它只返回 U" 部分??

瑞·马丁斯

Range newContracts = activeWorksheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell);

string address = newContracts.get_Address();

【问题讨论】:

标签: c# excel


【解决方案1】:

您可以使用字符串操作:

string columnLetter = address.Split('$', StringSplitOptions.RemoveEmptyEntries)[0];

我宁愿使用列的索引号而不是它的字母;您可以从 Column 属性中获取此信息。如果你真的需要字母标识符,你可以计算它。我确定我记得一个用于将列的索引号(即 3)转换为其字母标识符(即“C”)的内置函数,但我现在找不到它。

【讨论】:

  • 这正是我一直试图得到的,一些功能做到了。字符串操作很简单,我只是想换一种方式。
  • @ruimartins 我想我找到了我要找的东西:ConvertFormula 函数。但我不能让它只返回第四列的字母"D";它总是返回"$D:$D"
【解决方案2】:

您可以像这样使用正则表达式或 Substring 方法:

string rowId = address.Substring(address.LastIndexOf('$') + 1);
string columnId = address.Substring(1, address.LastIndexOf('$') - 1);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    相关资源
    最近更新 更多