Open-Source-Go-Bibliothek zum Lesen von Excel-XLSX-Dateien
Lesen Sie XLSX-Dokumente über Open Source Go API.
Go-Excel ist eine leichte Open-Source-Go-Bibliothek zum Lesen von Microsoft Excel-Dokumenten. Die API zielt darauf ab, eine einfache und einfache Möglichkeit zum Lesen von XLSX-Dateien als relationen-db-ähnliche Tabelle bereitzustellen. Beim Lesen einer XLSX-Datei erwartet die API die erste Zeile als Titelzeile und die Zeilen als Datenzeilen.
Die API bietet eine Reihe von Tags zum Bearbeiten von Excel-Dokumenten. Das Spalten-Tag wird dem Feldnamen in der Titelzeile zugeordnet, das Standard-Tag legt den Standardwert fest, wenn kein Wert definiert ist, das Split-Tag teilt eine Zeichenfolge und konvertiert sie in ein Segment, das Nil-Tag überspringt den Scan-Wert in der Zelle und req -Tag gibt einen Fehler zurück, wenn der Spaltentitel in Excel nicht vorhanden ist.
Erste Schritte mit Go-Excel
Die empfohlene Methode zur Installation von Go-Excel in Ihrem Projekt ist die Verwendung von GitHub. Bitte verwenden Sie den folgenden Befehl für eine reibungslose Installation.
go-excel über GitHub installieren
go get github.com/szyhf/go-excel
Lesen Sie die Excel-Datei über die Free Go-API
Die Open-Source-Bibliothek Go-Excel ermöglicht es Computerprogrammierern, Excel-Dateien über GO zu lesen. Beim Lesen der Excel-Datei können Sie den Feldnamen als Standardspaltennamen verwenden und eine Spalte mehreren Feldern zuordnen. Nachdem Sie die Leseoptionen eingestellt haben, öffnen Sie eine neue Verbindung mit einer Excel-Datei mit der Methode excel.NewConnector() und erfolgreich, wenn Sie eine Verbindung zur Excel-Datei herstellen, können Sie deren Inhalt mit der Methode conn.NewReader() lesen.
Einfacher Reader zum Lesen von Excel-Datei in 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
}
Erweiterte Methoden zum Lesen von Excel über die GO-API
Die Open-Source-API Go-Excel bietet sowohl grundlegende als auch erweiterte Methoden zum Lesen von Excel-Dateien. Sie können die Indexzeile als Titel verwenden, jede Zeile vor der Titelzeile wird ignoriert und die Standardtitelzeile wird auf 0 gesetzt. Sie können die leeren Zeilen überspringen und Spalten überspringen, die größer als der Titel sind. Die API ermöglicht das Festlegen leerer Zellen mit Standardwerten, und Sie können Standardwerte festlegen, indem Sie Unmarshal über encoding.BinaryUnmarshaler verwenden
Read Map via Free 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++
}