使用C#按Excel检索列名

时间:2011-12-07 11:03:41

标签: c# excel ado.net

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

有没有办法实现它?

请指导我。

1 个答案:

答案 0 :(得分:2)

很简单 我为此做了一次方法,你需要的只是一个列号,它会将它转换为字符串“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