مقدمه
فراتر از ایجاد و استایلدهی به کتابکارها، بیشتر کدهای روزمرهٔ صفحات گسترده صرف خواندن و نوشتن مقادیر سلولها، افزودن فرمولها و انتقال دادهها بین XLSX و CSV میشود. Aspose.Cells FOSS برای Go این سه مورد را از طریق انواع Workbook و Cells پوشش میدهد.
این کتابخانه به عنوان یک ماژول Go در github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go در دسترس است و تحت مجوز MIT منتشر شده است. آن را با go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26 در هر پروژهٔ Go 1.24+ نصب کنید.
این مقاله فرآیند خواندن/نوشتن سلولها، فرمولها، تبدیل CSV و حذف سلولها را مرور میکند.
ویژگیهای کلیدی
ایجاد یک کتاب کاری و نوشتن سلولها
NewWorkbook() یک کتابکار را برمیگرداند که از پیش یک برگه کاری دارد. مقادیر را با Cells().Set(ref, value) بنویسید:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Category")
ws.Cells().Set("C1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", "Gadgets")
ws.Cells().Set("C2", 12.99)
wb.Save("inventory.xlsx")
دوباره خواندن سلولها
Cells().Get(ref)، *Cell مربوط به یک مرجع را به همراه خطایی برمیگرداند اگر مرجع نامعتبر باشد:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("C2", 12.99)
cell, err := ws.Cells().Get("C2")
if err != nil {
fmt.Printf("Error: %v\n", err)
return
}
fmt.Printf("C2 = %v\n", cell.Value)
از Cells().All() برای فهرست کردن تمام سلولهای پرشده در مجموعه استفاده کنید وقتی نیاز به پیمایش کل شیت دارید.
افزودن فرمول
Cell.SetFormula یک رشتهٔ فرمول را بر روی یک سلول ذخیره میکند. ابتدا سلول را با Set ایجاد کنید، سپس فرمول را وصل کنید — فرمول هنگام باز شدن توسط Excel یا LibreOffice ارزیابی میشود، نه توسط کتابخانه:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("D2", nil)
cell, _ := ws.Cells().Get("D2")
cell.SetFormula("C2*2")
تبدیل CSV
Workbook.ExportToCSV یک شاخص ورق کاری دادهشده را به یک فایل CSV با جداکنندهای که انتخاب میکنید مینویسد؛ Workbook.ImportFromCSV یک فایل CSV را به یک ورق کاری نامگذاریشده میخواند:
wb := cells_foss.NewWorkbook()
if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
fmt.Printf("Error exporting: %v\n", err)
return
}
حذف یک سلول
Cells().Remove(ref) مقدار یک سلول را پاک میکند:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A2", "Widget A")
if err := ws.Cells().Remove("A2"); err != nil {
fmt.Printf("Error removing cell: %v\n", err)
}
شروع سریع
نصب ماژول:
go get github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go/v26یک جریان کار حداقلی — یک جدول کوچک از مقادیر را بسازید و به CSV صادر کنید:
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", "Item")
ws.Cells().Set("B1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", 12.99)
if err := wb.ExportToCSV(0, "inventory.csv", ','); err != nil {
fmt.Printf("Error exporting: %v\n", err)
return
}
fmt.Println("Exported inventory.csv")
}
قالبهای پشتیبانیشده
| قالب | پسوند | خواندن | نوشتن |
|---|---|---|---|
| XLSX | .xlsx | — | ✓ |
| CSV | .csv | ✓ | ✓ |
دفاتر کار XLSX در حافظه با NewWorkbook ساخته میشوند و با Workbook.Save نوشته میشوند. CSV به صورت دو-طرفه از طریق Workbook.ImportFromCSV و Workbook.ExportToCSV انجام میشود.
منبع باز و مجوزها
Aspose.Cells FOSS برای Go تحت مجوز MIT منتشر شده است. هیچ محدودیت استفادهای وجود ندارد، هزینهٔ زمان اجرا نیست و نیازی به ثبتنام نیست. کد منبع در github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Go در دسترس است.
استفاده تجاری تحت شرایط مجوز MIT مجاز است. اگر پروژهٔ شما به پشتیبانی سطح سازمانی، پوشش فرمتهای گسترده یا یکپارچهسازی ابری نیاز دارد، Aspose.Cells — Enterprise Product Family یک ارائه تجاری جداگانه است.