使用c#按Excel检索列名

本文关键字:检索 Excel 使用 | 更新日期: 2023-09-27 18:17:16

我使用MS Excel作为我的数据源。我在一个工作簿中有一个表。当我从表中检索数据时,我需要按MS Excel列名(例如A, B, C,…AA、AB……)

有办法实现吗?

使用c#按Excel检索列名

非常简单我为此创建了一个方法,你只需要一个列号它就会将其转换为字符串,如"aa"或"bb"

private static string chars ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private static string ConvertNumber(int number)
{
  string result;
  number -= 1;
  int rest = number % 26;
  int q = number / 26;
  if(q == 0)
  {
    result = chars[rest].ToString();
  }else{
    result = ConvertNumber(q) + chars[rest];
  }
  return result;
}

这只适用于第一列不是index = 0,而是index = 1的情况。这是因为"A"和普通数字系统中的"0"不一样。如果它存在,那么AB就是0 * 26^1 + 1 * 26^0