Nyílt forráskódú Go Library Excel XLSX-fájlok olvasásához
Olvasson XLSX dokumentumokat a nyílt forráskódú Go API-n keresztül.
A Go-Excel egy nyílt forráskódú, könnyű, tiszta go könyvtár a Microsoft Excel dokumentumok olvasásához. Az API célja, hogy egyszerű és könnyű módot biztosítson az XLSX-fájlok relate-db-szerű táblaként történő olvasására. XLSX fájl olvasása közben az API az első sort várja címsorként, a sorokat pedig adatsorként.
Az API egy sor címkét biztosít az Excel-dokumentumok kezeléséhez. Az oszlopcímke a címsorban lévő mező nevére van leképezve, az alapértelmezett címke beállítja az alapértelmezett értéket, ha nincs érték definiálva, a felosztott címke feloszt egy karakterláncot és szeletté alakítja, a nil címke kihagyja a cellában lévő vizsgálati értéket és a req címke hibát ad vissza, ha az oszlop címe nem létezik az Excelben.
A Go-Excel használatának első lépései
A Go-Excel projektbe való telepítésének javasolt módja a GitHub. Kérjük, használja a következő parancsot a zökkenőmentes telepítés érdekében.
Telepítse a go-excelt a GitHubon keresztül
go get github.com/szyhf/go-excel
Olvasson Excel fájlt a Free Go API-n keresztül
A Go-Excel nyílt forráskódú könyvtár lehetővé teszi a számítógép-programozók számára, hogy Excel-fájlokat olvassanak a GO-n keresztül. Az Excel fájl olvasása közben használhatja a mező nevét alapértelmezett oszlopnévként, és egy oszlopot több mezőre is leképezhet. Az olvasási beállítások megadása után az excel.NewConnector() metódussal új kapcsolatot nyitunk meg egy Excel fájllal, és sikeresen csatlakozunk az excel fájlhoz, akkor a conn.NewReader() metódussal olvashatjuk a tartalmát.
Egyszerű olvasó, hogy olvassa el az Excel fájlt a Go alkalmazásokban
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
}
Speciális módszerek az Excel olvasásához a GO API-n keresztül
A nyílt forráskódú API Go-Excel alapvető és haladó módszereket kínál az Excel fájlok olvasásához. Használhatja az indexsort címként, a címsor előtti sorokat figyelmen kívül hagyja, és az alapértelmezett címsor értéke 0. Kihagyhatja az üres sorokat, és kihagyhatja a címnél nagyobb oszlopokat. Az API lehetővé teszi üres cellák alapértelmezett értékekkel történő beállítását, és alapértelmezett értékeket állíthat be az unmarshal használatával a kódoláson keresztül.BinaryUnmarshaler
Olvassa el a térképet a Free Gt API-en keresztül
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++
}