Avoimen lähdekoodin Go Library Excel XLSX -tiedostojen lukemista varten
Lue XLSX-dokumentteja Open Source Go API:n kautta.
Go-Excel on avoimen lähdekoodin kevyt pure go -kirjasto Microsoft Excel -asiakirjojen lukemiseen. API pyrkii tarjoamaan yksinkertaisen ja helpon tavan lukea XLSX-tiedostoja relate-db-tyyppisinä taulukoina. Kun luet XLSX-tiedostoa, API odottaa ensimmäistä riviä otsikkoriveinä ja rivit tietoriveinä.
API tarjoaa joukon tunnisteita Excel-dokumenttien käsittelyä varten. Saraketunniste liittyy otsikkorivillä olevan kentän nimeen, oletustunniste asettaa oletusarvon, kun arvoa ei ole määritetty, jaettu tagi jakaa merkkijonon ja muuntaa ne viipaleeksi, nolla-tunniste ohittaa solun skannausarvon ja req -tunniste palauttaa virheen, jos sarakkeen otsikkoa ei ole Excelissä.
Go-Excelin käytön aloittaminen
Suositeltu tapa asentaa Go-Excel projektiisi on käyttää GitHubia. Käytä seuraavaa komentoa sujuvaan asennukseen.
Asenna go-excel GitHubin kautta
go get github.com/szyhf/go-excel
Lue Excel-tiedosto Free Go API:n kautta
Avoimen lähdekoodin Go-Excel-kirjaston avulla tietokoneohjelmoijat voivat lukea Excel-tiedostoja GO:n kautta. Kun luet Excel-tiedostoa, voit käyttää kentän nimeä oletussarakkeen nimenä ja voit yhdistää sarakkeen useampaan kuin yhteen kenttään. Kun olet asettanut lukuasetukset, avaat uuden yhteyden Excel-tiedostoon käyttämällä excel.NewConnector()-menetelmää ja yhdistät excel-tiedostoon onnistuneesti, voit lukea sen sisällön käyttämällä conn.NewReader()-metodia.
Yksinkertainen Reader Excel-tiedoston lukemiseen Go Appsissa
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
}
Edistyneet menetelmät Excelin lukemiseen GO API:n kautta
Avoimen lähdekoodin API Go-Excel tarjoaa sekä perus- että edistyneitä menetelmiä Excel-tiedostojen lukemiseen. Voit käyttää hakemistoriviä otsikkona, jokainen otsikkoriviä edeltävä rivi ohitetaan ja oletusotsikkorivi on 0. Voit ohittaa tyhjät rivit ja ohittaa otsikkoa suuremmat sarakkeet. API sallii tyhjien solujen asettamisen oletusarvoilla ja voit asettaa oletusarvot käyttämällä unmarshal-koodausta. BinaryUnmarshaler
Lue kartta ilmaisen GO API:n kautta
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++
}