סקירת תכונות
סקירת תכונות
Aspose.Cells FOSS עבור API של Go מתמקד ב-Workbook, Worksheet, Cells, ו-Cell. מדריך זה מסביר את היכולות האחרות של הספרייה: עיצוב, אימות נתונים, טבלאות, תמונות, וקראי זרם לקבצים גדולים.
עיצוב תא
קבץ את ההגדרות של 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
highlightStyle := cells_foss.NewStyle()
highlightStyle.Font.Color = "FFFFFFFF"
highlightStyle.Font.Bold = true
highlightStyle.Fill = &cells_foss.Fill{
Type: cells_foss.FillTypeSolid,
Color: "FF4472C4",
}
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)אימות טווח של מספרים שלמים משתמש ב-DataValidationTypeWhole עם Formula1/Formula2 כגבולות התחתון והעליון.
טבלאות
Worksheet.AddTable יוצר Table מובנה על פני טווח, עם שורת כותרת אופציונלית וסגנון טבלה בשם:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
tbl := ws.AddTable("A1:F6")
tbl.HasHeaderRow = true
tbl.StyleName = "TableStyleMedium6"קבל טבלה קיימת לפי שם באמצעות Worksheet.GetTable(name).
תמונות
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, כך שגליון עבודה עם אלפי שורות לעולם לא צריך להיטען במלואו בזיכרון:
path := "outputfiles/large_workbook.xlsx"
sr := cells_foss.NewStreamingReader(path)
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)
}טיפים ושיטות מומלצות
- השתמש ב-
StreamingReaderבמקום טעינה מלאה שלWorkbookכאשר קובץ עשוי להכיל אלפי שורות ואתה צריך רק לקרוא, לא לשנות, אותו. - צור
Styleפעם אחת ושימוש בו מחדש במגוון תאים במקום לבנות אחד חדש לכל תא. Cell.SetFormulaשומר מחרוזת נוסחה במדויק — היא מוערכת על ידי Excel או LibreOffice בעת הפתיחה, ולא על ידי הספרייה בזמן השמירה.- בדוק את ערך החזרה של
errorמ-Save,AddDataValidation, וקוראי/כתבי CSV — קלט/פלט של גיליון אלקטרוני יכול להיכשל בנתיבים לא חוקיים או קלט שגוי.
בעיות נפוצות
| Issue | Cause | תיקון |
|---|---|---|
ערך התא אינו נראה לאחר Set | התייחסות לגיליון הלא נכון או להפניה לתא מחוץ לטווח | אשר את האינדקס Worksheet וודא שהפניה בסגנון A1 תואמת לתא הרצוי |
| הנוסחה מוצגת כטקסט גולמי במקום לחישוב | הספרייה שומרת רק את מחרוזת הנוסחה; היא אינה מחשבת נוסחאות | פתח את הקובץ ב-Excel או ב-LibreOffice, שמבצעים את החישוב עם הפתיחה |
| אימות נתונים אינו נראה ב-Excel | אימות נוסף לטווח שאינו כולל את התא היעד | אשר שמחרוזת הטווח (לדוגמה "A2:A10") מכסה את התאים שאתה מצפה לאמת |
FAQ
האם הספרייה מבצעת הערכת נוסחאות בעצמה?
מספר Cell.SetFormula/GetFormula מאחסנים מחרוזת נוסחה ש-Excel או LibreOffice מפרשים כאשר הקובץ נפתח.
האם אני יכול לבצע stream-write של ספרי עבודה גדולים, ולא רק stream-read שלהם?
StreamingReader מכסה קריאות ב-stream. כתיבת ספרי עבודה גדולים כיום עוברת דרך ה-Workbook/Worksheet API הסטנדרטי בזיכרון.
האם AddTable מיישם auto-filter אוטומטית?
זה לא מאומת בממשק API הנוכחי — רק HasHeaderRow ו-StyleName מתועדים כשדות Table. בדקו מול קובץ .xlsx שנוצר אם זה רלוונטי למקרה השימוש שלכם.
סיכום API Reference
| מחלקה / שיטה | תיאור |
|---|---|
Workbook.NewWorkbook / Save | צור ושמור חוברת עבודה |
Worksheet.Cells | גש לאוסף התאים של גיליון עבודה |
Cells.Get / Set / Remove / All | קרא, כתוב, הסר, וספור תאים |
Cell.SetStyle / SetFormula / GetFormula | החל עיצוב ונוסחאות על תא |
Style, Font, Fill, Alignment, Border | צור עיצוב תאים לשימוש חוזר |
Worksheet.AddDataValidation | הצמד כלל אימות לטווח תאים |
Worksheet.AddTable / GetTable | צור ושלוף טווחי טבלאות מובנים |
Worksheet.AddPicture / Picture.SetAnchor(row, col) | הטמע ומקם תמונות |
StreamingReader.ProcessRows | הזרם גיליון עבודה שורה אחר שורה |
Workbook.ExportToCSV / ImportFromCSV | המרה בין XLSX ל-CSV |
Workbook.SetPassword / VerifyPassword | להגן ולבדוק סיסמת חוברת עבודה |