Biblioteka Open Source Go do czytania plików XLSX programu Excel
Czytaj dokumenty XLSX przez Open Source Go API.
Go-Excel to lekka, czysta biblioteka Go o otwartym kodzie źródłowym do czytania dokumentów Microsoft Excel. Interfejs API ma na celu zapewnienie prostego i łatwego sposobu odczytywania plików XLSX jako tabeli podobnej do powiązanej bazy danych. Podczas odczytywania pliku XLSX interfejs API oczekuje, że pierwszy wiersz będzie wierszem tytułu, a wiersze — wierszami danych.
Interfejs API zapewnia zestaw znaczników do manipulowania dokumentami Excel. Znacznik kolumny odwzorowuje nazwę pola w rzędzie tytułowym, znacznik domyślny ustawia wartość domyślną, gdy żadna wartość nie jest zdefiniowana, znacznik podziału dzieli ciąg i konwertuje go na wycinek, znacznik zerowy pomija skanowaną wartość w komórce i wymaga tag zwraca błąd, jeśli tytuł kolumny nie istnieje w programie Excel.
Pierwsze kroki z Go-Excel
Zalecanym sposobem instalacji Go-Excel w projekcie jest użycie GitHub. Użyj następującego polecenia, aby uzyskać płynną instalację.
Zainstaluj go-excel przez GitHub
go get github.com/szyhf/go-excel
Przeczytaj plik Excel przez Free Go API
Biblioteka Go-Excel o otwartym kodzie źródłowym umożliwia programistom komputerowym odczytywanie plików Excel przez GO. Podczas czytania pliku Excel możesz użyć nazwy pola jako domyślnej nazwy kolumny i możesz zmapować kolumnę na więcej niż jedno pole. Po ustawieniu opcji odczytu otwierasz nowe połączenie z plikiem Excela za pomocą metody excel.NewConnector() i udaje się, łącząc się z plikiem Excela możesz odczytać jego zawartość za pomocą metody conn.NewReader().
Prosty czytelnik do odczytu pliku Excel w aplikacji 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
}
Zaawansowane metody czytania Excela przez GO API
API Go-Excel o otwartym kodzie źródłowym zapewnia zarówno podstawowe, jak i zaawansowane metody odczytywania plików Excela. Możesz użyć wiersza indeksu jako tytułu, każdy wiersz przed wierszem tytułu zostanie zignorowany, a domyślny wiersz tytułu jest ustawiony na 0. Możesz pominąć puste wiersze i pominąć kolumny większe niż tytuł. Interfejs API umożliwia ustawienie pustych komórek z wartościami domyślnymi i można ustawić wartości domyślne za pomocą unmarshal przez kodowanie.BinaryUnmarshaler
Przeczytaj mapę za darmo 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++
}