1. Produkter
  2.   Regneark
  3.   GO
  4.   Go-Excel
 
  

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.

Previous Next

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++
}
 Dansk