نظرة عامة على المميزات

نظرة عامة على الميزة

Aspose.Cells FOSS for Go’s API يركز على 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 يقرأ ورقة عمل صفًا بصف عبر استدعاء رد، بحيث لا يلزم تحميل دفتر العمل الذي يحتوي على آلاف الصفوف بالكامل في الذاكرة:

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 — قد يفشل إدخال/إخراج الجداول الإلكترونية بسبب مسارات غير صالحة أو مدخلات غير صحيحة.

المشكلات الشائعة

IssueCauseإصلاح
قيمة الخلية غير مرئية بعد Setالإشارة إلى الورقة الخاطئة أو مرجع خلية خارج النطاقتأكد من فهرس Worksheet وأن مرجع النمط A1 يطابق الخلية المقصودة
تظهر الصيغة كنص عادي بدلاً من حسابهاالمكتبة تخزن سلسلة الصيغة فقط؛ لا تقوم بتقييم الصيغافتح الملف في Excel أو LibreOffice، اللذين يقومان بالحساب عند الفتح
التحقق من صحة البيانات غير مرئي في Excelتم إضافة التحقق إلى نطاق لا يتضمن الخلية المستهدفةتأكد من أن سلسلة النطاق (مثال: "A2:A10") تغطي الخلايا التي تتوقع التحقق منها

FAQ

هل تقوم المكتبة بتقييم الصيغ بنفسها؟

رقم Cell.SetFormula/GetFormula تخزن سلسلة صيغة يقوم Excel أو LibreOffice بتقييمها عند فتح الملف.

هل يمكنني كتابة دفاتر عمل كبيرة باستخدام البث، وليس فقط قراءتها عبر البث؟

StreamingReader يغطي قراءات البث. كتابة دفاتر عمل كبيرة حالياً تتم عبر API القياسي في الذاكرة Workbook/Worksheet.

هل يطبق AddTable مرشحًا تلقائيًا؟

هذا غير مؤكد في واجهة 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حماية والتحقق من كلمة مرور المصنف

انظر أيضاً

 العربية