Browse Source

Merge pull request #114 from lichaofei/master

change the TitleToNumber function
Ri Xu 8 years ago
parent
commit
cf1077dc9f
1 changed files with 8 additions and 3 deletions
  1. 8 3
      lib.go

+ 8 - 3
lib.go

@@ -70,16 +70,21 @@ func ToAlphaString(value int) string {
 }
 }
 
 
 // TitleToNumber provides function to convert Excel sheet column title to int
 // 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")
+//    excelize.TitleToNumber("ak")
 //
 //
 func TitleToNumber(s string) int {
 func TitleToNumber(s string) int {
 	weight := 0.0
 	weight := 0.0
 	sum := 0
 	sum := 0
 	for i := len(s) - 1; i >= 0; i-- {
 	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++
 		weight++
 	}
 	}
 	return sum - 1
 	return sum - 1