Maison > Article > développement back-end > Explication détaillée de la façon dont les processus Golang excellent
La colonne tutorielle suivante de go langage expliquera en détail comment traiter Excel avec Golang J'espère que cela sera utile aux amis. dans le besoin !
Les articles précédents sur Golang étaient principalement basés sur la bibliothèque standard de Golang. Aujourd'hui, nous allons examiner une bibliothèque open source de Golang, qui peut être utilisée pour traiter des fichiers xlsx. Téléchargez d'abord le package
go get github.com/tealeg/xlsx
Voyons comment utiliser ce package à travers un exemple simple. Cet exemple implémente principalement la saisie des noms de colonnes et l'affichage de toutes les données de cette colonne dans le tableau. Le code est le suivant :
package main import ( "bufio" "fmt" "os" "github.com/tealeg/xlsx" ) func main() { if len(os.Args) != 3 { fmt.Println("Usage: xlsx pathname sheetname") os.Exit(1) } xlsxFile, err := xlsx.OpenFile(os.Args[1]) if err != nil { fmt.Println(err) os.Exit(1) } sheet := xlsxFile.Sheet[os.Args[2]] if sheet == nil { fmt.Println("表单名不存在") os.Exit(1) } for { title := getStdinInput("请输入列名:") if title == "" { fmt.Println(title) continue } titleColIndex := findColByTitle(sheet, title) if titleColIndex == -1 { fmt.Println("列名不存在") continue } rowLen := len(sheet.Rows) result := []string{} for rowIndex := 1; rowIndex < rowLen; rowIndex++ { content := sheet.Cell(rowIndex, titleColIndex).String() result = append(result, content) } fmt.Println(result) } } func getStdinInput(hint string) string { fmt.Print(hint) scanner := bufio.NewScanner(os.Stdin) if scanner.Scan() { return scanner.Text() } return "" } func findColByTitle(sheet *xlsx.Sheet, title string) int { titleRow := sheet.Rows[0] for titleIndex, col := range titleRow.Cells { if col.String() == title { return titleIndex } } return -1 }
Regardons d'abord la fonction principale. La fonction principale effectue d'abord la vérification des paramètres de ligne de commande. Pour utiliser ce programme, vous devez utiliser deux paramètres, l'un est le chemin vers xlsx, et l'autre est le nom du formulaire à utiliser. Ouvrez ensuite le fichier xlsx et le formulaire correspondant, lisez le nom de la colonne via l'entrée standard, puis recherchez le nom de la colonne dans le formulaire correspondant et obtenez toutes les données de la colonne en parcourant toutes les lignes. Deux fonctions sont encapsulées ici pour lire les données de l'entrée standard et trouver l'index de colonne correspondant.
La fonction getStdinInput() reçoit un paramètre en tant qu'instruction d'invite de saisie. Cette fonction obtient le texte de l'entrée standard en fonction du scanner.
La fonction findColByTitle() passe deux paramètres : le pointeur de l'objet formulaire et le nom de la colonne. En parcourant toutes les colonnes de la ligne d’en-tête, recherchez l’index de colonne correspondant et renvoyez-le.
Vous pouvez créer vous-même un fichier xlsx standard. La première ligne est la ligne de titre, puis la tester avec un programme utilitaire. J'ai déjà utilisé Python pour le traitement Excel, mais je pense que Golang est plus efficace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!