如何将列号转换为字母

3
我正在编写一个查询公式脚本。我想列出所有可用的包含数据的列,对话框中应显示这些内容。我可以使用 sheet.getLastColumn(); 轻松获取工作表中的列数,但如何将其轻松转换为 A,B,C... AA,BB,CC ... 等格式呢?
因此,如果有5列,则尝试获取数组[A,B,C,D,E];如果有30列,则期望获得一个数组[A,B,C,...,CC]。
不确定为什么它不让我发布,但我想写一些更多的内容看看它是否有帮助。
1个回答

6

在某处找到了这段代码:

function NUM_RETURN_LETRA(column){
  var temp, letter = '';
  while (column > 0)
  {
    temp = (column - 1) % 26;
    letter = String.fromCharCode(temp + 65) + letter;
    column = (column - temp - 1) / 26;
  }
  return letter;
}

那么针对您的情况:
var columns = [];
for( i = 0; i< 10; i++)
  columns.push(NUM_RETURN_LETRA(+i));

return columns

不确定我是否理解 NUM_RETURN_LETRA 函数的逻辑,但它运行得非常好。我不得不对 for 语句进行快速修改:for( i = 1; i<= column; i++)。谢谢。 - Bjorn Behrendt
不要试图用'65'来“跟随逻辑”计算。这是指Unicode值... https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode 'A' = 64,因此您有一个偏移量为1。 - testing123

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接