הקדמה

Aspose.Cells FOSS עבור Go היא ספרייה טהורה ב-Go לעבודה עם גיליונות Excel. היא מציגה API ליצירת חוברות עבודה חדשות מאפס, כתיבה ועיצוב ערכי תאים, יישום כללי אימות נתונים, בניית טבלאות מובנות, הטמעת תמונות, וקריאת קבצי .xlsx גדולים שורה אחרי שורה — כל זאת ללא תלות ב-C או C++ מקומיים.

הספרייה זמינה כמודול 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+.

פוסט זה מסביר את היכולות המרכזיות: עיצוב תאים, אימות נתונים, טבלאות, תמונות וקריאות זרימתיות.


תכונות מרכזיות

עיצוב תאים

קבץ את הגדרות Font, Fill, Alignment ו-Border לתוך Style שניתן להשתמש בו מחדש, ואז החל אותו על תא באמצעות 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 שולט ב-Horizontal, Vertical, ו-WrapText; Border שולט בנראות הכללים Top, Bottom, Left, ו-Right בנוסף ל-Color.

אימות נתונים

Worksheet.AddDataValidation מצרף כלל אימות לטווח תאים. המבנה DataValidation מכיל את כלל Type, ערך אחד או שני ערכי Formula, ושדות הודעת שגיאה:

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)

טבלאות

Worksheet.AddTable יוצר Table מובנה על טווח, עם שורת כותרת אופציונלית וסגנון טבלה בשם:

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"

תמונות

Worksheet.AddPicture משלב תמונה; Picture.SetAnchor(row, col) ממקם אותה:

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)

הזרמת קבצים גדולים

StreamingReader קורא גיליון שורה אחר שורה באמצעות callback, כך שמחברת עבודה עם אלפי שורות לעולם לא חייבת להיות נטענת במלואה לזיכרון:

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

התחלה מהירה

התקן את המודול:

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

זרימת עבודה מינימלית — צור מחברת, כתוב שני תאים, הדגש את הכותרת, ושמור:

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

פורמטים נתמכים

פורמטהרחבהקריאהכתיבה
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 היא הצעה מסחרית נפרדת.


התחלה

משאבים קשורים