summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib.go b/lib.go
index 1bcb8fc..ab83e50 100644
--- a/lib.go
+++ b/lib.go
@@ -70,16 +70,23 @@ 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
+// (this function doesn't do value check currently). For example convert AK(ak、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))
+ var ch int
+ if int(s[i]) >= int('a') && int(s[i]) <= int('z') {
+ ch = int(s[i]) - 32
+ } else {
+ ch = int(s[i])
+ }
+ sum = sum + (ch-int('A')+1)*int(math.Pow(26, weight))
weight++
}
return sum - 1