Ανοιχτού κώδικα Go Library για ανάγνωση αρχείων Excel XLSX

Διαβάστε έγγραφα XLSX μέσω του Open Source Go API.

Το Go-Excel είναι μια ελαφριά καθαρή βιβλιοθήκη ανοιχτού κώδικα για την ανάγνωση εγγράφων του Microsoft Excel. Το API στοχεύει να παρέχει έναν απλό και εύκολο τρόπο ανάγνωσης αρχείων XLSX ως πίνακα που μοιάζει με db. Κατά την ανάγνωση ενός αρχείου XLSX, το API αναμένει την πρώτη σειρά ως γραμμή τίτλου και τις σειρές ως σειρές δεδομένων.

Το API παρέχει ένα σύνολο ετικετών για το χειρισμό εγγράφων του Excel. Η ετικέτα στήλης αντιστοιχίζεται στο όνομα πεδίου στη σειρά τίτλου, η προεπιλεγμένη ετικέτα ορίζει την προεπιλεγμένη τιμή όταν δεν έχει οριστεί τιμή, η ετικέτα διαχωρισμού διαχωρίζει μια συμβολοσειρά και τη μετατρέπει σε φέτα, η ετικέτα μηδέν παραλείπει την τιμή σάρωσης στο κελί και απαιτεί Η ετικέτα επιστρέφει ένα σφάλμα εάν ο τίτλος της στήλης δεν υπάρχει στο 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 μέσω encoding.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++
}
 Ελληνικά