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, Alignment và Border 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, Vertical và WrapText; Border kiểm soát hiển thị quy tắc Top, Bottom, Left và Right 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/v26Quy 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ạng | Phần mở rộng | Đọc | Ghi |
|---|---|---|---|
| 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.ImportFromCSV và Workbook.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.