//获取excel坐标
func GetEcelAxis(row int, columnCount int) string {
var column = getColumnIndex(columnCount)
return fmt.Sprintf("%s%d", column, row)
}
//获取excel的列索引
var columnIndexList = []string{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
func getColumnIndex(num int) string {
num--
var column = columnIndexList[num%26]
for num = num / 26; num > 0; num = num/26 - 1 {
column = columnIndexList[(num-1)%26] + column
}
return column
}
这里面主要是列转换成英文字母的索引
func TestGetCellIndex(t *testing.T) {
t.Log(getColumnIndex(26)) //Z
t.Log(getColumnIndex(27)) //AA
t.Log(getColumnIndex(676)) //YZ
t.Log(getColumnIndex(702)) //ZZ
t.Log(getColumnIndex(1352)) //AYZ
}
输出
rc_test.go:14: Z
rc_test.go:15: AA
rc_test.go:16: YZ
rc_test.go:17: ZZ
rc_test.go:18: AYZ