Giới thiệu

Aspose.Cells FOSS cho Go là một thư viện thuần Go để làm việc với bảng tính Excel. Nó cung cấp một API để tạo sổ làm việc mới từ đầu, ghi và định dạng giá trị ô, áp dụng các quy tắc xác thực dữ liệu, xây dựng các bảng có cấu trúc, nhúng hình ảnh, và đọc các tệp .xlsx lớn theo từng hàng — tất cả mà không cần bất kỳ phụ thuộc C hoặc C++ gốc nào.

Thư viện có sẵn dưới dạng mô-đun Go tại github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go và được phát hành dưới giấy phép MIT. Cài đặt nó bằng lệnh go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 vào bất kỳ dự án Go 1.24+ nào.

Bài viết này đề cập đến các khả năng cốt lõi: định dạng ô, xác thực dữ liệu, bảng, hình ảnh và đọc luồng.


Các tính năng chính

Định dạng ô

Nhóm các cài đặt Font, Fill, AlignmentBorder thành một Style có thể tái sử dụng, sau đó áp dụng nó cho ô bằng Cell.SetStyle:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

boldStyle := cells_foss.NewStyle()
boldStyle.Font.Bold = true
boldStyle.Font.Size = 12

cell, _ := ws.Cells().Get("A1")
cell.SetStyle(boldStyle)

Alignment kiểm soát Horizontal, VerticalWrapText; Border kiểm soát hiển thị quy tắc Top, Bottom, LeftRight cùng với Color.

Xác Thực Dữ Liệu

Worksheet.AddDataValidation gắn một quy tắc xác thực vào một phạm vi ô. Cấu trúc DataValidation chứa quy tắc Type, một hoặc hai giá trị Formula, và các trường thông báo lỗi:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]

dv := &cells_foss.DataValidation{
	Type:             cells_foss.DataValidationTypeList,
	Formula1:         `"Apple,Banana,Cherry,Dragonfruit"`,
	AllowBlank:       true,
	ShowErrorMessage: true,
	ErrorTitle:       "Invalid Fruit",
	ErrorMessage:     "Please pick a fruit from the list.",
	ErrorStyle:       cells_foss.ErrorStyleStop,
}
ws.AddDataValidation("A2:A10", dv)

Bảng

Worksheet.AddTable tạo một Table có cấu trúc trên một phạm vi, với một hàng tiêu đề tùy chọn và một kiểu bảng có tên:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Qty")

tbl := ws.AddTable("A1:B2")
tbl.HasHeaderRow = true
tbl.StyleName = "TableStyleMedium6"

Hình Ảnh

Worksheet.AddPicture nhúng một hình ảnh; Picture.SetAnchor(row, col) định vị nó:

wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
imageBytes := []byte{} // populate with real image bytes before use

pic := &cells_foss.Picture{Data: imageBytes, Format: "png"}
ws.AddPicture(pic)
pic.SetAnchor(5, 0)

Phát Luồng Tập Tin Lớn

StreamingReader đọc một worksheet theo từng hàng thông qua callback, vì vậy một sổ làm việc có hàng nghìn không bao giờ phải được tải đầy đủ vào bộ nhớ:

sr := cells_foss.NewStreamingReader("large_workbook.xlsx")
err := sr.ProcessRows("Sheet1", func(rowIdx int, cells map[string]string) error {
	// process one row at a time
	return nil
})
if err != nil {
	fmt.Printf("Error streaming: %v\n", err)
}

Bắt đầu nhanh

Cài đặt mô-đun:

go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26

Quy trình làm việc tối thiểu — tạo một workbook, ghi hai ô, in đậm tiêu đề, và lưu:

package main

import (
	"fmt"

	cells_foss "github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26/aspose/cells_foss"
)

func main() {
	wb := cells_foss.NewWorkbook()
	ws := wb.Worksheets[0]

	ws.Cells().Set("A1", "Product")
	ws.Cells().Set("B1", "Revenue")

	boldStyle := cells_foss.NewStyle()
	boldStyle.Font.Bold = true
	for _, ref := range []string{"A1", "B1"} {
		cell, _ := ws.Cells().Get(ref)
		cell.SetStyle(boldStyle)
	}

	if err := wb.Save("report.xlsx"); err != nil {
		fmt.Printf("Error saving workbook: %v\n", err)
		return
	}
	fmt.Println("Workbook saved to report.xlsx")
}

Định dạng được hỗ trợ

Định dạngPhần mở rộngĐọcGhi
XLSX.xlsx
CSV.csv

Sổ làm việc XLSX được xây dựng trong bộ nhớ bằng NewWorkbook và ghi bằng Workbook.Save. CSV hỗ trợ hai chiều thông qua Workbook.ImportFromCSVWorkbook.ExportToCSV.


Mã nguồn mở & Giấy phép

Aspose.Cells FOSS cho Go được phát hành theo giấy phép MIT. Không có hạn chế sử dụng, không phí chạy thời gian, và không yêu cầu đăng ký. Mã nguồn có sẵn tại github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.

Việc sử dụng thương mại được phép theo các điều khoản giấy phép MIT. Nếu dự án của bạn yêu cầu hỗ trợ cấp doanh nghiệp, phạm vi định dạng mở rộng, hoặc tích hợp đám mây, Aspose.Cells — Enterprise Product Family là một gói thương mại riêng biệt.


Bắt đầu

Tài nguyên liên quan