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

Open Source Go Library for lesing av Excel XLSX-filer

Les XLSX-dokumenter via Open Source Go API.

Go-Excel er et åpen kildekode lettvekts ren go-bibliotek for lesing av Microsoft Excel-dokumenter. API-en har som mål å gi en enkel og enkel måte å lese XLSX-filer som en relate-db-lignende tabell. Mens du leser en XLSX-fil, forventer API den første raden som tittelrad og radene som datarader.

API-en gir et sett med tagger for å manipulere Excel-dokumenter. Kolonne-taggen tilordnes feltnavnet i tittelraden, standard-taggen setter standardverdien når ingen verdi er definert, split-taggen deler en streng og konverterer dem til en skive, nil tag hopper over skanneverdien i cellen og krever tag returnerer en feil hvis kolonnetittelen ikke eksisterer i Excel.

Previous Next

Komme i gang med Go-Excel

Den anbefalte måten å installere Go-Excel i prosjektet på er å bruke GitHub. Bruk følgende kommando for en jevn installasjon.

Installer go-excel via GitHub

go get github.com/szyhf/go-excel 

Les Excel-fil via Free Go API

Open source-biblioteket Go-Excel lar dataprogrammerere lese Excel-filer via GO. Mens du leser excel-filen, kan du bruke feltnavnet som standard kolonnenavn, og du kan tilordne en kolonne til mer enn ett felt. Etter å ha angitt lesealternativene åpner du en ny tilkobling med en Excel-fil ved å bruke excel.NewConnector()-metoden og vellykket, kobler du til excel-filen kan du lese innholdet ved hjelp av conn.NewReader()-metoden.

Enkel leser for å lese Excel-fil i Go-apper

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
}

Avanserte metoder for å lese Excel via GO API

Open source API Go-Excel gir grunnleggende så vel som avanserte metoder for å lese excel-filer. Du kan bruke indeksraden som tittel, hver rad før tittelraden vil bli ignorert og standard tittelrad er satt til 0. Du kan hoppe over de tomme radene og hoppe over kolonner som er større enn tittelen. API-en tillater å sette tomme celler med standardverdier, og du kan angi standardverdier ved å bruke unmarshal via encoding.BinaryUnmarshaler

Les kart 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++
}
 Norsk