Pendahuluan

Aspose.Cells FOSS untuk Go adalah perpustakaan pure-Go untuk bekerja dengan spreadsheet Excel. Ia menyediakan API untuk membuat workbook baru dari awal, menulis dan menata nilai sel, menerapkan aturan validasi data, membangun tabel terstruktur, menyematkan gambar, dan membaca file .xlsx besar satu baris pada satu waktu — semua tanpa ketergantungan native C atau C++.

Perpustakaan ini tersedia sebagai modul Go di github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go dan dirilis di bawah lisensi MIT. Instal dengan go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 ke dalam proyek Go 1.24+ apa pun.

Postingan ini membahas kemampuan inti: penataan sel, validasi data, tabel, gambar, dan pembacaan streaming.


Fitur Utama

Penataan Sel

Kelompokkan pengaturan Font, Fill, Alignment, dan Border ke dalam Style yang dapat digunakan kembali, lalu terapkan pada sel dengan 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 mengatur Horizontal, Vertical, dan WrapText; Border mengatur visibilitas aturan Top, Bottom, Left, dan Right serta Color.

Validasi Data

Worksheet.AddDataValidation menempelkan aturan validasi ke rentang sel. Struct DataValidation membawa aturan Type, satu atau dua nilai Formula, dan bidang pesan kesalahan:

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)

Tabel

Worksheet.AddTable membuat Table terstruktur atas rentang, dengan baris header opsional dan gaya tabel yang bernama:

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"

Gambar

Worksheet.AddPicture menyematkan gambar; Picture.SetAnchor(row, col) menempatkannya:

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)

Streaming File Besar

StreamingReader membaca lembar kerja baris demi baris melalui callback, sehingga workbook dengan ribuan baris tidak pernah harus dimuat sepenuhnya ke dalam memori:

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)
}

Panduan Cepat

Instal modul:

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

Alur kerja minimal — buat sebuah workbook, tulis dua sel, tebalkan header, dan simpan:

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")
}

Format yang Didukung

FormatEkstensiBacaTulis
XLSX.xlsx
CSV.csv

Buku kerja XLSX dibangun di memori dengan NewWorkbook dan ditulis dengan Workbook.Save. CSV bersifat dua arah melalui Workbook.ImportFromCSV dan Workbook.ExportToCSV.


Sumber Terbuka & Lisensi

Aspose.Cells FOSS untuk Go dirilis di bawah lisensi MIT. Tidak ada pembatasan penggunaan, tidak ada biaya runtime, dan tidak ada persyaratan pendaftaran. Kode sumber tersedia di github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go.

Penggunaan komersial diizinkan berdasarkan ketentuan lisensi MIT. Jika proyek Anda memerlukan dukungan tingkat perusahaan, cakupan format yang diperluas, atau integrasi cloud, Aspose.Cells — Enterprise Product Family adalah penawaran komersial terpisah.


Memulai

Sumber Daya Terkait