package function import ( "fmt" "log" "github.com/xuri/excelize/v2" ) func ReadExcel(path string,sheetSelect string)[]map[string]string { // var sql []string // var pathSite []string // var pathBackupSite[]string // var pathBackupSiteMysql[]string var headers []string f, err := excelize.OpenFile(path) if err != nil { fmt.Println(err) return nil } defer func() { // Close the spreadsheet. if err := f.Close(); err != nil { fmt.Println(err) } }() // Nom de la feuille sheetName := sheetSelect // Obtenir toutes les lignes rows, err := f.GetRows(sheetName) if err != nil { log.Fatalf("Erreur lors de la lecture des lignes: %v", err) } // Vérifier qu'il y a des lignes if len(rows) == 0 { log.Fatal("La feuille est vide ou introuvable") } // La première ligne est utilisée pour les en-têtes headers = rows[0] // Tableau pour stocker les données var data []map[string]string // Parcourir les lignes en ignorant la première for _, row := range rows[1:] { // rows[1:] commence à la deuxième ligne rowMap := make(map[string]string) for i, cell := range row { if i < len(headers) { rowMap[headers[i]] = cell } } data = append(data, rowMap) } // Afficher les résultats fmt.Println("Données associées :") for _, row := range data { fmt.Println(row) } return data }