excel表列序号

15 阅读1分钟

func titleToNumber(columnTitle string) int {
	slice := []rune(columnTitle)
	cur := 0 //err,这里是0,不是1
	var result float64 = 0
	for len(slice) > 0 {
		head := slice[len(slice)-1]
		headInt := toDigit(head)
		slice = slice[:len(slice)-1]
		result += float64(headInt) * math.Pow(26, float64(cur))
		cur++
	}
	return int(result)
}

func toDigit(ch rune) int {
	return int(ch - 'A' + 1)
}