Libreria Open Source Go per la lettura di file XLSX di Excel

Leggi i documenti XLSX tramite l'API Go Open Source.

Go-Excel è una libreria pure go leggera e open source per la lettura di documenti Microsoft Excel. L'API mira a fornire un modo semplice e facile per leggere i file XLSX come tabelle di tipo related-db. Durante la lettura di un file XLSX, l'API prevede la prima riga come riga del titolo e le righe come righe di dati.

L'API fornisce una serie di tag per manipolare i documenti Excel. Il tag della colonna si associa al nome del campo nella riga del titolo, il tag predefinito imposta il valore predefinito quando non è definito alcun valore, il tag diviso divide una stringa e la converte in una sezione, il tag nil salta il valore di scansione nella cella e richiede tag restituisce un errore se il titolo della colonna non esiste in Excel.

Previous Next

Guida introduttiva a Go-Excel

Il modo consigliato per installare Go-Excel nel tuo progetto è utilizzare GitHub. Si prega di utilizzare il comando seguente per un'installazione senza problemi.

Installa go-excel tramite GitHub

go get github.com/szyhf/go-excel 

Leggi il file Excel tramite l'API Free Go

La libreria open source Go-Excel consente ai programmatori di computer di leggere file Excel tramite GO. Durante la lettura del file excel, puoi utilizzare il nome del campo come nome di colonna predefinito e puoi mappare una colonna in più di un campo. Dopo aver impostato le opzioni di lettura si apre una nuova connessione con un file Excel utilizzando il metodo excel.NewConnector() e con successo, collegandosi al file excel è possibile leggerne il contenuto utilizzando il metodo conn.NewReader().

Lettore semplice per leggere file Excel in App Go

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
}

Metodi avanzati per leggere Excel tramite GO API

L'API open source Go-Excel fornisce metodi di base e avanzati per leggere i file Excel. Puoi utilizzare la riga dell'indice come titolo, ogni riga prima della riga del titolo verrà ignorata e la riga del titolo predefinita è impostata su 0. Puoi saltare le righe vuote e saltare le colonne più grandi del titolo. L'API consente di impostare celle vuote con valori predefiniti ed è possibile impostare valori predefiniti utilizzando unmarshal tramite codifica.BinaryUnmarshaler

Leggi la mappa via Free 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++
}
 Italiano