Bibliothèque Go Open Source pour la lecture de fichiers Excel XLSX
Lisez les documents XLSX via l'API Open Source Go.
Go-Excel est une bibliothèque open source pure et légère pour la lecture de documents Microsoft Excel. L'API vise à fournir un moyen simple et facile de lire les fichiers XLSX en tant que table de type relative-db. Lors de la lecture d'un fichier XLSX, l'API attend la première ligne comme ligne de titre et les lignes comme lignes de données.
L'API fournit un ensemble de balises pour manipuler les documents Excel. La balise de colonne correspond au nom du champ dans la ligne de titre, la balise par défaut définit la valeur par défaut lorsqu'aucune valeur n'est définie, la balise split divise une chaîne et la convertit en tranche, la balise nil ignore la valeur de balayage dans la cellule et req La balise renvoie une erreur si le titre de la colonne n'existe pas dans Excel.
Premiers pas avec Go-Excel
La méthode recommandée pour installer Go-Excel dans votre projet consiste à utiliser GitHub. Veuillez utiliser la commande suivante pour une installation fluide.
Installer go-excel via GitHub
go get github.com/szyhf/go-excel
Lire le fichier Excel via l'API Free Go
La bibliothèque open source Go-Excel permet aux programmeurs informatiques de lire des fichiers Excel via GO. Lors de la lecture du fichier Excel, vous pouvez utiliser le nom du champ comme nom de colonne par défaut et vous pouvez mapper une colonne dans plusieurs champs. Après avoir défini les options de lecture, vous ouvrez une nouvelle connexion avec un fichier Excel à l'aide de la méthode excel.NewConnector() et réussi, en vous connectant au fichier Excel, vous pouvez lire son contenu à l'aide de la méthode conn.NewReader().
Simple Reader à Read Excel Dossier dans Go Apps
type Reader interface {
// Get all titles sorted
GetTitles() []string
// Read current row into a object
Read(v interface{}) error
// Read all rows
// container: container should be ptr to slice or array.
ReadAll(container interface{}) error
// Read next rows
Next() bool
// Close the reader
Close() error
}
Méthodes avancées pour lire Excel via GO API
L'API open source Go-Excel fournit des méthodes de base et avancées pour lire les fichiers Excel. Vous pouvez utiliser la ligne d'index comme titre, chaque ligne avant la ligne de titre sera ignorée et la ligne de titre par défaut est définie sur 0. Vous pouvez ignorer les lignes vides et ignorer les colonnes plus grandes que le titre. L'API permet de définir des cellules vides avec des valeurs par défaut et vous pouvez définir des valeurs par défaut en utilisant unmarshal via encoding.BinaryUnmarshaler
Carte de lecture via Gt API
conn := excel.NewConnecter()
err := conn.Open(filePath)
if err != nil {
fmt.Println(err)
return
}
defer conn.Close()
// Generate an new reader of a sheet
// sheetNamer: if sheetNamer is string, will use sheet as sheet name.
// if sheetNamer is int, will i'th sheet in the workbook, be careful the hidden sheet is counted. i ∈ [1,+inf]
// if sheetNamer is a object implements `GetXLSXSheetName()string`, the return value will be used.
// otherwise, will use sheetNamer as struct and reflect for it's name.
// if sheetNamer is a slice, the type of element will be used to infer like before.
rd, err := conn.NewReader(stdSheetName)
if err != nil {
fmt.Println(err)
return
}
defer rd.Close()
idx := 0
for rd.Next() {
var m map[string]string
if err := rd.Read(&m); err != nil {
fmt.Println(err)
return
}
expectStdMap := expectStandardMapList[idx]
if !reflect.DeepEqual(m, expectStdMap) {
fmt.Printf("unexpect std at %d = \n%s", idx, convert.MustJsonPrettyString(expectStdMap))
}
fmt.Printf("%d => %s\n", idx, convert.MustJsonString(m))
idx++
}