Open Source Go-bibliotek til læsning af Excel XLSX-filer
Læs XLSX-dokumenter via Open Source Go API.
Go-Excel er et open source letvægts ren go-bibliotek til læsning af Microsoft Excel-dokumenter. API'en sigter mod at give en enkel og nem måde at læse XLSX-filer som en relate-db-lignende tabel. Mens du læser en XLSX-fil, forventer API'et den første række som titelrækken og rækkerne som datarækker.
API'en indeholder et sæt tags til at manipulere Excel-dokumenter. Kolonne-tagget er knyttet til feltnavnet i titelrækken, standard-tagget angiver standardværdien, når der ikke er defineret nogen værdi, split-tagget opdeler en streng og konverterer dem til et udsnit, nul-tag springer scanningsværdien over i cellen og anmoder tag returnerer en fejl, hvis kolonnetitlen ikke findes i Excel.
Kom godt i gang med Go-Excel
Den anbefalede måde at installere Go-Excel i dit projekt på er ved at bruge GitHub. Brug venligst følgende kommando for en problemfri installation.
Installer go-excel via GitHub
go get github.com/szyhf/go-excel
Læs Excel-fil via Free Go API
Open source-biblioteket Go-Excel giver computerprogrammører mulighed for at læse Excel-filer via GO. Mens du læser excel-filen, kan du bruge feltnavnet som standardkolonnenavn, og du kan tilknytte en kolonne til mere end ét felt. Efter at have indstillet læseindstillingerne åbner du en ny forbindelse med en Excel-fil ved hjælp af excel.NewConnector()-metoden og vellykket, ved at oprette forbindelse til excel-filen kan du læse dens indhold ved hjælp af conn.NewReader()-metoden.
Enkel læser til at læse Excel-fil 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
}
Avancerede metoder til at læse Excel via GO API
Open source API'en Go-Excel giver grundlæggende såvel som avancerede metoder til at læse excel-filer. Du kan bruge indeksrækken som titel, hver række før titelrækken vil blive ignoreret, og standardtitelrækken er sat til 0. Du kan springe de tomme rækker over og springe kolonner, der er større end titlen, over. API'en tillader indstilling af tomme celler med standardværdier, og du kan indstille standardværdier ved at bruge unmarshal via encoding.BinaryUnmarshaler
Læs kort via gratis GO 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++
}