【发布时间】:2021-07-28 18:55:33
【问题描述】:
目前使用 Dart 和 gsheets_api,它似乎没有将列字母转换为数字的功能(列索引)
作为一个例子,这是我在 AppScript 中使用的(输入:列字母,输出:列索引号):
function Column_Nu_to_Letter(column_nu)
{
var temp, letter = '';
while (column_nu > 0)
{
temp = (column_nu - 1) % 26;
letter = String.fromCharCode(temp + 65) + letter;
column_nu = (column_nu - temp - 1) / 26;
}
return letter;
};
这是我为 Dart 编写的代码,它可以工作,但我确信有更优雅或更正确的方法来做到这一点。
String colLetter = 'L'; //Column 'L' as example
int c = "A".codeUnitAt(0);
int end = "Z".codeUnitAt(0);
int counter = 1;
while (c <= end) {
//print(String.fromCharCode(c));
if(colLetter == String.fromCharCode(c)){
print('Conversion $colLetter = $counter');
}
counter++;
c++;
}
// this output L = 12
您对如何改进此代码有任何建议吗?
【问题讨论】:
-
您的文本要求将字母转换为索引,但您的 AppScript 代码似乎将索引转换为字母。是哪一个?
-
对不起,我需要这两个函数(将列字母转换为列索引 nu,反之亦然)。
标签: dart