Open Source Go Library för att läsa Excel XLSX-filer
Läs XLSX-dokument via Open Source Go API.
Go-Excel är ett lättviktsbibliotek med öppen källkod för att läsa Microsoft Excel-dokument. API:et syftar till att tillhandahålla ett enkelt och enkelt sätt att läsa XLSX-filer som en relate-db-liknande tabell. När man läser en XLSX-fil förväntar sig API:et den första raden som titelrad och raderna som datarader.
API:et tillhandahåller en uppsättning taggar för att manipulera Excel-dokument. Kolumntaggen mappas till fältnamnet i titelraden, standardtaggen ställer in standardvärdet när inget värde är definierat, splittaggen delar en sträng och konverterar dem till en skiva, noll-taggen hoppar över skanningsvärdet i cellen och begär taggen returnerar ett fel om kolumntiteln inte finns i Excel.
Komma igång med Go-Excel
Det rekommenderade sättet att installera Go-Excel i ditt projekt är att använda GitHub. Använd följande kommando för en smidig installation.
Installera go-excel via GitHub
go get github.com/szyhf/go-excel
Läs Excel-fil via Free Go API
Open source-biblioteket Go-Excel låter datorprogrammerare läsa Excel-filer via GO. När du läser excel-filen kan du använda fältnamnet som standardkolumnnamn och du kan mappa en kolumn till mer än ett fält. Efter att ha ställt in läsalternativen öppnar du en ny anslutning med en Excel-fil med hjälp av metoden excel.NewConnector() och framgångsrik, när du ansluter till excel-filen kan du läsa dess innehåll med metoden conn.NewReader().
Enkel läsare för att läsa Excel File i 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
}
Avancerade metoder för att läsa Excel via GO API
API:et Go-Excel med öppen källkod tillhandahåller grundläggande såväl som avancerade metoder för att läsa Excel-filer. Du kan använda indexraden som titel, varje rad före titelraden kommer att ignoreras och standardrubriken är inställd på 0. Du kan hoppa över de tomma raderna och hoppa över kolumner som är större än titeln. API:et tillåter inställning av tomma celler med standardvärden och du kan ställa in standardvärden genom att använda unmarshal via encoding.BinaryUnmarshaler
Läs kartan via Gratis 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++
}