Библиотека Go с отворен код за четене на Excel XLSX файлове

Четете XLSX документи чрез Open Source Go API.

Go-Excel е лека чиста go библиотека с отворен код за четене на документи на Microsoft Excel. API има за цел да предостави прост и лесен начин за четене на XLSX файлове като таблица, подобна на relate-db. Докато чете XLSX файл, API очаква първия ред като заглавен ред и редовете като редове с данни.

API предоставя набор от тагове за манипулиране на документи на Excel. Етикетът на колоната се съпоставя с името на полето в заглавния ред, тагът по подразбиране задава стойността по подразбиране, когато не е дефинирана стойност, тагът за разделяне разделя низ и ги преобразува в срез, тагът nil пропуска сканираната стойност в клетката и req връща грешка, ако заглавието на колоната не съществува в Excel.

Previous Next

Първи стъпки с Go-Excel

Препоръчителният начин да инсталирате Go-Excel във вашия проект е чрез GitHub. Моля, използвайте следната команда за гладка инсталация.

Инсталирайте go-excel чрез GitHub

go get github.com/szyhf/go-excel 

Прочетете Excel файл чрез Free Go API

Библиотеката с отворен код Go-Excel позволява на компютърните програмисти да четат Excel файлове чрез GO. Докато четете файла на Excel, можете да използвате името на полето като име на колона по подразбиране и можете да картографирате колона в повече от едно поле. След като зададете опциите за четене, вие отваряте нова връзка с файл на Excel, като използвате метода excel.NewConnector() и успешно, свързвайки се с файла на Excel, можете да прочетете съдържанието му с помощта на метода conn.NewReader().

Прост четец за четене на файл на Excel в 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
}

Разширени методи за четене на Excel чрез GO API

API с отворен код Go-Excel предоставя основни, както и разширени методи за четене на excel файлове. Можете да използвате индексния ред като заглавие, всеки ред преди заглавния ред ще бъде игнориран и заглавният ред по подразбиране е зададен на 0. Можете да пропуснете празните редове и колони, по-големи от заглавието. API позволява задаване на празни клетки със стойности по подразбиране и можете да зададете стойности по подразбиране, като използвате unmarshal чрез кодиране.BinaryUnmarshaler

Безплатна карта 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++
}
 Български