Merge pull request #114 from lichaofei/master
change the TitleToNumber function
This commit is contained in:
commit
cf1077dc9f
11
lib.go
11
lib.go
|
@ -70,16 +70,21 @@ func ToAlphaString(value int) string {
|
|||
}
|
||||
|
||||
// TitleToNumber provides function to convert Excel sheet column title to int
|
||||
// (this function doesn't do value check currently). For example convert AK to
|
||||
// column title 36:
|
||||
// (this function doesn't do value check currently). For example convert AK
|
||||
// and ak to column title 36:
|
||||
//
|
||||
// excelize.TitleToNumber("AK")
|
||||
// excelize.TitleToNumber("ak")
|
||||
//
|
||||
func TitleToNumber(s string) int {
|
||||
weight := 0.0
|
||||
sum := 0
|
||||
for i := len(s) - 1; i >= 0; i-- {
|
||||
sum = sum + (int(s[i])-int('A')+1)*int(math.Pow(26, weight))
|
||||
ch := int(s[i])
|
||||
if int(s[i]) >= int('a') && int(s[i]) <= int('z') {
|
||||
ch = int(s[i]) - 32
|
||||
}
|
||||
sum = sum + (ch-int('A')+1)*int(math.Pow(26, weight))
|
||||
weight++
|
||||
}
|
||||
return sum - 1
|
||||
|
|
Loading…
Reference in New Issue