1. produkty
  2.   Tabulka
  3.   GO
  4.   Go-Excel
 
  

Open Source Go Library pro čtení souborů Excel XLSX

Čtěte dokumenty XLSX prostřednictvím Open Source Go API.

Go-Excel je open source odlehčená čistě go knihovna pro čtení dokumentů Microsoft Excel. Cílem API je poskytnout jednoduchý a snadný způsob, jak číst soubory XLSX jako tabulku podobnou db. Při čtení souboru XLSX rozhraní API očekává první řádek jako řádek nadpisu a řádky jako řádky dat.

Rozhraní API poskytuje sadu značek pro manipulaci s dokumenty aplikace Excel. Značka sloupce se mapuje na název pole v řádku nadpisu, výchozí značka nastaví výchozí hodnotu, když není definována žádná hodnota, značka rozdělení rozdělí řetězec a převede je na řez, značka nil přeskočí hodnotu skenování v buňce a req tag vrátí chybu, pokud název sloupce v Excelu neexistuje.

Previous Next

Začínáme s Go-Excel

Doporučený způsob instalace Go-Excel do vašeho projektu je pomocí GitHubu. Pro bezproblémovou instalaci použijte prosím následující příkaz.

Nainstalujte go-excel přes GitHub

go get github.com/szyhf/go-excel 

Čtěte soubor Excel přes Free Go API

Open source knihovna Go-Excel umožňuje počítačovým programátorům číst soubory Excelu prostřednictvím GO. Při čtení souboru aplikace Excel můžete použít název pole jako výchozí název sloupce a můžete namapovat sloupec do více než jednoho pole. Po nastavení možností čtení otevřete nové spojení se souborem Excel pomocí metody excel.NewConnector() a po úspěšném připojení k souboru Excel můžete číst jeho obsah pomocí metody conn.NewReader().

Simple Reader číst Excel soubor v 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
}

Pokročilé metody čtení Excelu přes GO API

Open source API Go-Excel poskytuje základní i pokročilé metody pro čtení souborů aplikace Excel. Jako nadpis můžete použít řádek indexu, každý řádek před řádkem nadpisu bude ignorován a výchozí řádek nadpisu je nastaven na 0. Můžete přeskočit prázdné řádky a přeskočit sloupce větší než nadpis. API umožňuje nastavení prázdných buněk s výchozími hodnotami a výchozí hodnoty můžete nastavit pomocí unmarshal přes encoding.BinaryUnmarshaler

Mapa přes 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++
}
 Čeština