Thư viện mã nguồn mở Go để đọc tệp Excel XLSX

Đọc tài liệu XLSX qua API Go nguồn mở.

Go-Excel là một thư viện go thuần túy nhẹ mã nguồn mở để đọc các tài liệu Microsoft Excel. API nhằm mục đích cung cấp một cách đơn giản và dễ dàng để đọc các tệp XLSX dưới dạng bảng tương tự db. Trong khi đọc tệp XLSX, API mong đợi hàng đầu tiên là hàng tiêu đề và các hàng là hàng dữ liệu.

API cung cấp một tập hợp các thẻ để thao tác với các tài liệu Excel. Thẻ cột ánh xạ đến tên trường trong hàng tiêu đề, thẻ mặc định đặt giá trị mặc định khi không có giá trị nào được xác định, thẻ phân tách tách một chuỗi và chuyển đổi chúng thành một lát cắt, thẻ nil bỏ qua giá trị quét trong ô và yêu cầu lại thẻ trả về lỗi nếu tiêu đề cột không tồn tại trong Excel.

Previous Next

Bắt đầu với Go-Excel

Cách được khuyến nghị để cài đặt Go-Excel vào dự án của bạn là sử dụng GitHub . Vui lòng sử dụng lệnh sau để cài đặt suôn sẻ.

Cài đặt go-excel qua GitHub

go get github.com/szyhf/go-excel 

Đọc tệp Excel qua API Free Go

Thư viện mã nguồn mở Go-Excel cho phép các lập trình viên máy tính đọc các tệp Excel thông qua GO. Trong khi đọc tệp excel, bạn có thể sử dụng tên trường làm tên cột mặc định và bạn có thể ánh xạ một cột thành nhiều trường. Sau khi thiết lập các tùy chọn đọc, bạn mở một kết nối mới với tệp Excel bằng phương thức excel.NewConnector () và thành công, kết nối với tệp excel bạn có thể đọc nội dung của nó bằng phương thức conn.NewReader ().

Người đọc đơn giản để đọc file Excel trong 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
}

Các phương pháp nâng cao để đọc Excel qua API GO

API mã nguồn mở Go-Excel cung cấp các phương pháp cơ bản cũng như nâng cao để đọc tệp excel. Bạn có thể sử dụng hàng chỉ mục làm tiêu đề, mọi hàng trước hàng tiêu đề sẽ bị bỏ qua và hàng tiêu đề mặc định được đặt thành 0. Bạn có thể bỏ qua các hàng trống và bỏ qua các cột lớn hơn tiêu đề. API cho phép đặt các ô trống với các giá trị mặc định và bạn có thể đặt các giá trị mặc định bằng cách sử dụng tính năng không quản lý thông qua mã hóa.

Đọc bản đồ qua Free 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++
}
 Tiếng Việt