Atvērtā pirmkoda Go Library Excel XLSX failu lasīšanai
Lasiet XLSX dokumentus, izmantojot Open Source Go API.
Go-Excel ir atvērtā koda viegla, tīra go bibliotēka Microsoft Excel dokumentu lasīšanai. API mērķis ir nodrošināt vienkāršu un vienkāršu veidu, kā nolasīt XLSX failus kā saistīto datu tabulu. Lasot XLSX failu, API sagaida pirmo rindu kā virsraksta rindu un rindas kā datu rindas.
API nodrošina tagu kopu, lai manipulētu ar Excel dokumentiem. Kolonnas tags tiek kartēts ar lauka nosaukumu virsraksta rindā, noklusējuma tags iestata noklusējuma vērtību, ja vērtība nav definēta, sadalītais tags sadala virkni un pārvērš to par šķēlumu, nulles tags izlaiž skenēšanas vērtību šūnā un pieprasa. tags atgriež kļūdu, ja slejas nosaukums programmā Excel nepastāv.
Darba sākšana ar Go-Excel
Ieteicamais veids, kā projektā instalēt programmu Go-Excel, ir izmantot GitHub. Lūdzu, izmantojiet šo komandu vienmērīgai instalēšanai.
Instalējiet go-excel, izmantojot GitHub
go get github.com/szyhf/go-excel
Lasiet Excel failu, izmantojot Free Go API
Atvērtā pirmkoda bibliotēka Go-Excel ļauj datorprogrammētājiem lasīt Excel failus, izmantojot GO. Lasot Excel failu, varat izmantot lauka nosaukumu kā noklusējuma kolonnas nosaukumu un varat kartēt kolonnu vairākos laukos. Pēc lasīšanas opciju iestatīšanas atverat jaunu savienojumu ar Excel failu, izmantojot metodi excel.NewConnector() un veiksmīgi izveidojot savienojumu ar Excel failu, varat nolasīt tā saturu, izmantojot metodi conn.NewReader().
Vienkāršs lasītājs Excel failu lasīšanai programmā 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
}
Uzlabotas metodes Excel lasīšanai, izmantojot GO API
Atvērtā koda API Go-Excel nodrošina pamata un uzlabotas metodes Excel failu lasīšanai. Varat izmantot rādītāja rindu kā virsrakstu, katra rinda pirms virsraksta rindas tiks ignorēta, un noklusējuma virsraksta rinda ir iestatīta uz 0. Varat izlaist tukšās rindas un izlaist kolonnas, kas ir lielākas par virsrakstu. API ļauj iestatīt tukšas šūnas ar noklusējuma vērtībām, un jūs varat iestatīt noklusējuma vērtības, izmantojot kodējumu unmarshal. BinaryUnmarshaler
Lasiet karti, izmantojot bezmaksas 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++
}