Excel XLSX Fayllarını Oxumaq üçün Açıq Mənbə Get Kitabxanası
Open Source Go API vasitəsilə XLSX sənədlərini oxuyun.
Go-Excel, Microsoft Excel sənədlərini oxumaq üçün açıq mənbəli, yüngül, təmiz oxu kitabxanasıdır. API, XLSX fayllarını əlaqəli db kimi cədvəl kimi oxumaq üçün sadə və asan bir yol təqdim etməyi hədəfləyir. XLSX faylını oxuyarkən API birinci cərgəni başlıq cərgəsi, sətirləri isə məlumat sətirləri kimi gözləyir.
API Excel sənədlərini manipulyasiya etmək üçün bir sıra etiketlər təqdim edir. Sütun teqi başlıq sətirindəki sahə adına uyğunlaşır, heç bir dəyər müəyyən edilmədikdə defolt teq defolt dəyəri təyin edir, bölünmüş teq sətri parçalayır və onları dilimə çevirir, sıfır teqi xanadakı skan dəyərini atlayır və tələb olunur. Sütun başlığı Excel-də mövcud deyilsə, teq xəta qaytarır.
Go-Excel ilə işə başlamaq
Go-Excel-i layihənizdə quraşdırmağın tövsiyə olunan yolu GitHub-dan istifadə etməkdir. Düzgün quraşdırma üçün aşağıdakı əmrdən istifadə edin.
GitHub vasitəsilə go-excel quraşdırın
go get github.com/szyhf/go-excel
Free Go API vasitəsilə Excel faylını oxuyun
Go-Excel açıq mənbə kitabxanası kompüter proqramçılarına GO vasitəsilə Excel fayllarını oxumağa imkan verir. Excel faylını oxuyarkən, siz standart sütun adı kimi sahə adını istifadə edə bilərsiniz və bir sütunu birdən çox sahəyə uyğunlaşdıra bilərsiniz. Oxu seçimlərini təyin etdikdən sonra siz excel.NewConnector() metodundan istifadə edərək Excel faylı ilə yeni əlaqə açırsınız və uğurla excel faylına qoşularaq conn.NewReader() metodundan istifadə edərək onun məzmununu oxuya bilərsiniz.
Go proqramlarında Excel faylını oxumaq üçün sadə oxucu
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
}
GO API vasitəsilə Excel oxumaq üçün qabaqcıl üsullar
Açıq mənbə API Go-Excel, excel fayllarını oxumaq üçün əsas, eləcə də qabaqcıl üsulları təqdim edir. Siz başlıq kimi indeks cərgəsindən istifadə edə bilərsiniz, başlıq sətirindən əvvəlki hər sətir nəzərə alınmayacaq və defolt başlıq cərgəsi 0-a təyin edilib. Siz boş sətirləri keçə və başlıqdan böyük sütunları keçə bilərsiniz. API boş xanaları standart dəyərlərlə təyin etməyə imkan verir və siz kodlaşdırma vasitəsilə unmarshal istifadə edərək defolt dəyərlər təyin edə bilərsiniz.BinaryUnmarshaler
Pulsuz GO API vasitəsilə Xəritəni oxuyun
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++
}