package function import ( "fmt" "log" "github.com/xuri/excelize/v2" ) func ReadExcel(path 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) } }() // Get value from cell by given worksheet name and cell reference. cell, err := f.GetCellValue("julien", "A2") if err != nil { fmt.Println(err) return nil } fmt.Println("-------------------------------------") fmt.Println(cell) fmt.Println("-------------------------------------") // Get all the rows in the Sheet1. // Nom de la feuille sheetName := "julien" // 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 }