package excelize import ( "encoding/xml" "strconv" "strings" ) // Get value from cell by given sheet index and axis in XLSX file func GetCellValue(file []FileList, sheet string, axis string) string { axis = strings.ToUpper(axis) var xlsx xlsxWorksheet row := getRowIndex(axis) xAxis := row - 1 name := `xl/worksheets/` + strings.ToLower(sheet) + `.xml` xml.Unmarshal([]byte(readXml(file, name)), &xlsx) rows := len(xlsx.SheetData.Row) if rows <= xAxis { return `` } for _, v := range xlsx.SheetData.Row[xAxis].C { if xlsx.SheetData.Row[xAxis].R == row { if axis == v.R { switch v.T { case "s": shardStrings := xlsxSST{} xlsxSI := 0 xlsxSI, _ = strconv.Atoi(v.V) xml.Unmarshal([]byte(readXml(file, `xl/sharedStrings.xml`)), &shardStrings) return shardStrings.SI[xlsxSI].T case "str": return v.V default: return v.V } } } } return `` }