ورقة العمل
تعيين رؤية العمود
func (f *File) SetColVisible(sheet, col string, visible bool) error
تعيين رؤية العمود المعطى استنادًا إلى اسم ورقة العمل المحدد واسم العمود. تكون هذه الوظيفة آمنة للتنفيذ المتزامن. على سبيل المثال، لإخفاء العمود D
في ورقة العمل المسماة Sheet1
:
err := f.SetColVisible("Sheet1", "D", false)
إخفاء الأعمدة D
إلى F
في ورقة العمل المسماة Sheet1
:
err := f.SetColVisible("Sheet1", "D:F", false)
تعيين عرض العمود
func (f *File) SetColWidth(sheet, startCol, endCol string, width float64) error
تعيين عرض عمود أو أكثر استنادًا إلى اسم ورقة العمل المعطاة، نطاق الأعمدة، وقيمة العرض. تكون هذه الوظيفة آمنة للتنفيذ المتزامن. على سبيل المثال، لتعيين عرض الأعمدة A
إلى H
في ورقة العمل المسماة Sheet1
إلى 20
:
err := f.SetColWidth("Sheet1", "A", "H", 20)
تعيين ارتفاع الصف
func (f *File) SetRowHeight(sheet string, row int, height float64) error
تعيين ارتفاع صف واحد استناداً إلى اسم ورقة العمل المعطاة، رقم الصف، وقيمة الارتفاع. على سبيل المثال، لتعيين ارتفاع الصف الأول في ورقة العمل المسماة Sheet1
إلى 50
:
err := f.SetRowHeight("Sheet1", 1, 50)
تعيين رؤية الصف
func (f *File) SetRowVisible(sheet string, row int, visible bool) error
تعيين رؤية الصف المحدد استنادًا إلى اسم ورقة العمل المعطى ورقم الصف. على سبيل المثال، لإخفاء الصف الثاني في ورقة العمل المسماة Sheet1
:
err := f.SetRowVisible("Sheet1", 2, false)
الحصول على اسم ورقة العمل
func (f *File) GetSheetName(index int) string
الحصول على اسم ورقة العمل استنادًا إلى فهرس ورقة العمل المحدد. إذا لم تكن الورقة العمل موجودة، سيتم إرجاع سلسلة فارغة.
الحصول على رؤية العمود
func (f *File) GetColVisible(sheet, column string) (bool, error)
الحصول على رؤية العمود المحدد في ورقة العمل استناداً إلى اسم ورقة العمل واسم العمود المعطي. قيمة الإرجاع true
تدل على الرؤية، بينما false
تدل على عدم الرؤية. تكون هذه الوظيفة آمنة للتنفيذ المتزامن. على سبيل المثال، للحصول على رؤية العمود D
في ورقة العمل المسماة Sheet1
:
visible, err := f.GetColVisible("Sheet1", "D")
الحصول على عرض العمود
func (f *File) GetColWidth(sheet, col string) (float64, error)
الحصول على عرض العمود المحدد في ورقة العمل استنادًا إلى اسم ورقة العمل واسم العمود المعطي. تكون هذه الوظيفة آمنة للتنفيذ المتزامن.
الحصول على ارتفاع الصف
func (f *File) GetRowHeight(sheet string, row int) (float64, error)
الحصول على ارتفاع الصف المحدد في ورقة العمل استنادًا إلى اسم ورقة العمل ورقم الصف. على سبيل المثال، للحصول على ارتفاع الصف الأول في ورقة العمل المسماة Sheet1
:
height, err := f.GetRowHeight("Sheet1", 1)
الحصول على رؤية الصف
func (f *File) GetRowVisible(sheet string, row int) (bool, error)
الحصول على رؤية الصف المحدد في ورقة العمل استناداً إلى اسم ورقة العمل ورقم الصف. على سبيل المثال، للحصول على رؤية الصف الثاني في ورقة العمل المسماة Sheet1
:
visible, err := f.GetRowVisible("Sheet1", 2)
الحصول على فهرس ورقة العمل
func (f *File) GetSheetIndex(sheet string) (int, error)
الحصول على فهرس الورقة العمل المعطاة باسمها. إرجاع -1
إذا لم تكن الورقة العمل موجودة. يمكن استخدام الفهرس المحصل عليه كمعلمة عند استدعاء وظيفة SetActiveSheet()
لتعيين ورقة العمل الافتراضية للدفتر.
الحصول على خريطة الأوراق العمل
func (f *File) GetSheetMap() map[int]string
الحصول على خريطة جميع الأوراق العمل، وأوراق الرسم البياني، وأوراق الحوار في الدفتر، ممثلة بواسطة معرف واسم.
f، err := excelize.OpenFile("Book1.xlsx")
if err != nil {
return
}
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
for index, name := range f.GetSheetMap() {
fmt.Println(index, name)
}
الحصول على قائمة الأوراق العمل
func (f *File) GetSheetList() []string
الحصول على قائمة الأوراق العمل، بما في ذلك أوراق العمل، وأوراق الرسم البياني، وأوراق الحوار بنفس الترتيب الذي تظهر به في الدفتر.
تعيين اسم لورقة عمل
func (f *File) SetSheetName(source, target string) error
إعادة تسمية ورقة العمل استنادًا إلى أسماء الأوراق القديمة والجديدة المعطاة. يمكن أن يستخدم اسم ورقة العمل ما يصل إلى 31 حرفًا. تقوم هذه الوظيفة فقط بتغيير اسم ورقة العمل ولن تقوم بتحديث الصيغ المرتبطة بالخلايا أو أسماء ورقة العمل في المراجع. لذلك، قد يؤدي استخدام هذه الوظيفة لإعادة تسمية ورقة العمل إلى حدوث أخطاء في الصيغ أو مشكلات الإشارات.
إدراج أعمدة
func (f *File) InsertCols(sheet, col string, n int) error
إدراج أعمدة فارغة قبل العمود المحدد استنادًا إلى اسم ورقة العمل المعطى، واسم العمود، وعدد الأعمدة المراد إدراجها. على سبيل المثال، إدراج 2 أعمدة فارغة قبل العمود C
في ورقة العمل المسماة Sheet1
:
err := f.InsertCols("Sheet1", "C", 2)
إدراج صفوف
func (f *File) InsertRows(sheet string, row, n int) error
إدراج صفوف فارغة قبل الصف المحدد استنادًا إلى اسم ورقة العمل المعطى، ورقم الصف، وعدد الصفوف المراد إدراجها. على سبيل المثال، إدراج 2 صفوف فارغة قبل الصف الثالث في ورقة العمل المسماة Sheet1
:
err := f.InsertRows("Sheet1", 3, 2)
إلحاق ونسخ الصفوف
func (f *File) DuplicateRow(sheet string, row int) error
إلحاق صف مكرر بعد رقم الصف المعطى استنادًا إلى اسم ورقة العمل المعطى. على سبيل المثال، تكرار الصف الثاني في ورقة العمل المسماة Sheet1
إلى الصف الثالث:
err := f.DuplicateRow("Sheet1", 2)
يجب ممارسة الحذر عند استخدام هذه الطريقة، حيث ستؤثر على جميع التغييرات في الصيغ الأصلية والرسوم البيانية والمراجع المرجعية الأخرى في ورقة العمل. إذا احتوت ورقة العمل على أي قيم مرجعية، فقد يؤدي فتحها باستخدام تطبيق Excel بعد استخدام هذه الطريقة إلى حدوث أخطاء في الملف. حاليًا، يدعم excelize فقط التحديثات على المراجع المشار إليها جزئيًا في ورقة العمل.
تكرار الصف
func (f *File) DuplicateRowTo(sheet string, row, row2 int) error
تكرار الصف بعد الصف المحدد استنادًا إلى اسم الورقة ورقم الصف. على سبيل المثال، تكرار الصف الثاني في ورقة العمل المسماة Sheet1
بعد الصف السابع:
err := f.DuplicateRowTo("Sheet1", 2, 7)
يرجى استخدام هذه الطريقة بحذر، حيث ستؤثر على جميع التغييرات في الصيغ الأصلية والرسوم البيانية وغيرها من الموارد المشار إليها في ورقة العمل. إذا كانت ورقة العمل تحتوي على أي قيم مشار إليها، فقد يؤدي فتحها باستخدام تطبيق Excel بعد استخدام هذه الطريقة إلى حدوث أخطاء في الملف. يدعم excelize حاليًا فقط التحديثات على المشار إليها جزئيًا في ورقة العمل.
تعيين مستوى الإطار للصف
func (f *File) SetRowOutlineLevel(sheet string, row int, level uint8) error
إنشاء مجموعة استنادًا إلى اسم ورقة العمل ورقم الصف ومعامل مستوى الإطار. على سبيل المثال، إنشاء مجموعة مستوى 1 في الصف الثاني من ورقة العمل المسماة Sheet1
.
err := f.SetRowOutlineLevel("Sheet1", 2, 1)
تعيين مستوى مخطط العمود
func (f *File) SetColOutlineLevel(sheet, col string, level uint8) error
أنشئ مجموعة بناءً على اسم الورقة المعطاة، واسم العمود، ومعامل مستوى المخطط. على سبيل المثال، أنشئ مجموعة مستوى 2 في العمود D
من ورقة العمل المسماة Sheet1
.
err := f.SetColOutlineLevel("Sheet1", "D", 2)
الحصول على مستوى مخطط الصف
func (f *File) GetRowOutlineLevel(sheet string, row int) (uint8, error)
احصل على مستوى المخطط بناءً على اسم الورقة المعطى ورقم الصف. على سبيل المثال، احصل على مستوى المخطط للصف الثاني في ورقة العمل المسماة Sheet1
.
level, err := f.GetRowOutlineLevel("Sheet1", 2)
الحصول على مستوى مخطط العمود
func (f *File) GetColOutlineLevel(sheet, col string) (uint8, error)
احصل على مستوى المخطط بناءً على اسم الورقة المعطى واسم العمود. على سبيل المثال، احصل على مستوى المخطط للعمود D
في ورقة العمل المسماة Sheet1
.
level, err := f.GetColOutlineLevel("Sheet1", "D")
عارض الأعمدة
func (f *File) Cols(sheet string) (*Cols, error)
احصل على عارض الأعمدة لورقة العمل المحددة بناءً على اسم الورقة المعطى. هذه الدالة آمنة للتنفيذ متزامنة. استخدم عارض الأعمدة لقراءة البث المتدفق وتجوال الخلايا:
cols, err := f.Cols("Sheet1")
if err != nil {
fmt.Println(err)
return
}
for cols.Next() {
col, err := cols.Rows()
if err != nil {
fmt.Println(err)
}
for _, rowCell := range col {
fmt.Print(rowCell, "\t")
}
fmt.Println()
}
عارض الأعمدة - الحصول على قيم العمود الواحد
func (cols *Cols) Rows(opts ...Options) ([]string, error)
قم بإرجاع قيم جميع الصفوف في العمود الحالي.
عارض الأعمدة - عملية المرور
func (cols *Cols) Next() bool
ارجع true
إذا كانت هناك قيم في العمود التالي.
عارض الأعمدة - التعامل مع الأخطاء
func (cols *Cols) Error() error
قم بإرجاع خطأ عند حدوث خطأ أثناء البحث عن العمود التالي.
عارض الصفوف
func (f *File) Rows(sheet string) (*Rows, error)
احصل على عارض الصفوف بناءً على اسم الورقة المعطاة. هذه الدالة آمنة للتنفيذ متزامنة. استخدم عارض الصفوف للتفاعل مع الخلايا لقراءة البث المتدفق:
rows, err := f.Rows("Sheet1")
if err != nil {
fmt.Println(err)
return
}
for rows.Next() {
row, err := rows.Columns()
if err != nil {
fmt.Println(err)
}
for _, colCell := range row {
fmt.Print(colCell, "\t")
}
fmt.Println()
}
if err = rows.Close(); err != nil {
fmt.Println(err)
}
عارض الصفوف - عملية الصف الواحد
func (rows *Rows) Columns(opts ...Options) ([]string, error)
تقوم هذه الدالة بقراءة الورقة العمل بشكل تدفقي صفًا بصف، وتقوم بإرجاع قيم كل خلية في الصف الحالي دون تخطي الصفوف الفارغة الصالحة في نهاية الورقة العمل.
عارض الصفوف - عملية المرور
func (rows *Rows) Next() bool
تعيد true
إذا وجدت قيمة في الصف القادم.
عارض الصفوف - التعامل مع الأخطاء
func (rows *Rows) Error() error
تعيد خطأ عند حدوث خطأ أثناء البحث عن الصف القادم.
عارض الصفوف - قراءة خصائص الصف
func (rows *Rows) GetRowOpts() RowOpts
تقوم بإعادة خصائص الصف الحالي مثل ارتفاع الصف، والرؤية، ومعرف نمط الأسلوب.
عارض الصفوف - إغلاق تدفق البيانات
func (rows *Rows) Close() error
تقوم بإغلاق تدفق البيانات وتنظيف أي مخبأ قرصي يمكن أن يكون تم إنشاؤه عند فتح ورقة العمل.
البحث في ورقة العمل
func (f *File) SearchSheet(sheet, value string, reg ...bool) ([]string, error)
الحصول على الإحداثيات بناءً على اسم ورقة العمل المعطاة، وقيمة الخلية، أو التعبير العادي. تدعم هذه الدالة فقط المطابقات الكاملة للسلاسل والأرقام، ولا تدعم النتائج المحسوبة أو الأرقام المنسقة أو البحث الشرطي. إذا كانت نتيجة البحث خلية مدمجة، سيتم إرجاع إحداثيات الزاوية العلوية اليسرى للمنطقة المدمجة.
على سبيل المثال، البحث عن إحداثيات القيمة 100
في ورقة العمل بالاسم Sheet1
:
result, err := f.SearchSheet("Sheet1", "100")
على سبيل المثال، البحث عن إحداثيات القيم الرقمية في النطاق 0-9
في ورقة العمل بالاسم Sheet1
:
result, err := f.SearchSheet("Sheet1", "[0-9]", true)
حماية ورقة العمل
func (f *File) ProtectSheet(sheet string, opts *SheetProtectionOptions) error
منع المستخدمين الآخرين من تغيير البيانات تحت الخطأ أو القصد في ورقة العمل. يدعم الحقل الاختياري AlgorithmName
تحديد خوارزمية التجزئة XOR، MD4، MD5، SHA-1، SHA-256، SHA-384، أو SHA-512. إذا لم يتم تحديد خوارزمية التجزئة، سيتم استخدام خوارزمية XOR افتراضيًا. على سبيل المثال، ضبط حماية كلمة المرور لورقة العمل بالاسم Sheet1
ولكن مع السماح بتحديد الخلية المقفلة، تحديد الخلية غير المقفلة، وسيناريو التحرير:
err := f.ProtectSheet("Sheet1", &excelize.SheetProtectionOptions{
AlgorithmName: "SHA-512",
Password: "password",
SelectLockedCells: true,
SelectUnlockedCells: true,
EditScenarios: true,
})
SheetProtectionOptions تعرِّف خيارات الإعداد لحماية ورقة العمل.
type SheetProtectionOptions struct {
AlgorithmName string
AutoFilter bool
DeleteColumns bool
DeleteRows bool
EditObjects bool
EditScenarios bool
FormatCells bool
FormatColumns bool
FormatRows bool
InsertColumns bool
InsertHyperlinks bool
InsertRows bool
Password string
PivotTables bool
SelectLockedCells bool
SelectUnlockedCells bool
Sort bool
}
إلغاء حماية ورقة العمل
func (f *File) UnprotectSheet(sheet string, password ...string) error
إلغاء حماية ورقة العمل وفقًا لاسم ورقة العمل المعطى، وتحديد المعامل الاختياري الثاني ككلمة مرور لإلغاء حماية ورقة العمل بالتحقق من كلمة المرور.
حذف العمود
func (f *File) RemoveCol(sheet, col string) error
حذف العمود المحدد وفقًا لاسم ورقة العمل المعطى واسم العمود. على سبيل المثال، حذف العمود C
في ورقة العمل بالاسم Sheet1
:
err := f.RemoveCol("Sheet1", "C")
يرجى استخدام هذه الطريقة بحذر، حيث أن هذا سيؤثر على جميع التغييرات على الصياغة الأصلية والرسم البياني والمراجع الأخرى في ورقة العمل. إذا تضمنت ورقة العمل أي قيم مرجعية، فإن استخدام هذه الطريقة قد يتسبب في أخطاء الملف عند فتحه بتطبيق Excel بعد الاستخدام. Excelize حالياً تدعم فقط التحديثات الجزئية على القيم المرجعية في ورقة العمل.
حذف الصف
func (f *File) RemoveRow(sheet string, row int) error
حذف الصف المحدد وفقًا لاسم ورقة العمل المعطى ورقم الصف. على سبيل المثال، حذف الصف الثالث في ورقة العمل بالاسم Sheet1
:
err := f.RemoveRow("Sheet1", 3)
يرجى استخدام هذه الطريقة بحذر، حيث أن هذا سيؤثر على جميع التغييرات على الصياغة الأصلية والرسم البياني والمراجع الأخرى في ورقة العمل. إذا تضمنت ورقة العمل أي قيم مرجعية، فإن استخدام هذه الطريقة قد يتسبب في أخطاء الملف عند فتحه بتطبيق Excel بعد الاستخدام. Excelize حالياً تدعم فقط التحديثات الجزئية على القيم المرجعية في ورقة العمل.
تعيين القيم حسب العمود
func (f *File) SetSheetCol(sheet, cell string, slice interface{}) error
تعيين القيم حسب العمود وفقًا لاسم ورقة العمل المعطى، والإحداثيات البداية، ومرجع النوع slice
. على سبيل المثال، تعيين القيم حسب العمود في العمود B
لورقة العمل بالاسم Sheet1
، مع خلية B6
كالإحداثية البداية:
err := f.SetSheetCol("Sheet1", "B6", &[]interface{}{"1", nil, 2})
Assign by Row
func (f *File) SetSheetRow(sheet, cell string, slice interface{}) error
يعين القيم حسب الصف استنادًا إلى اسم ورقة العمل المعطى وإحداثيات البداية والمرجع إلى نوع "الشريحة". هذه الوظيفة متزامنة تمامًا. على سبيل المثال، يمكن تعيين القيم حسب الصف في الصف السادس من ورقة العمل المسماة "Sheet1"، بدءًا من الخلية "B6":
err := f.SetSheetRow("Sheet1", "B6", &[]interface{}{"1", nil, 2})
Insert Page Break
func (f *File) InsertPageBreak(sheet, cell string) error
يقوم بإدراج فاصل صفحة استنادًا إلى اسم ورقة العمل المعطى وإحداثيات الخلية. تعتبر فواصل الصفحات الخطوط الفاصلة التي تقسم ورقة العمل إلى صفحات فردية لأغراض الطباعة.
Remove Page Break
func (f *File) RemovePageBreak(sheet, cell string) error
يقوم بإزالة فاصل الصفحة استنادًا إلى اسم ورقة العمل المعطى وإحداثيات الخلية.
Set Worksheet Dimension
func (f *File) SetSheetDimension(sheet string, rangeRef string) error
يقوم بتعيين أو إزالة منطقة الخلية المستخدمة لورقة العمل استنادًا إلى اسم ورقة العمل المعطى وإحداثيات الخلية أو نطاق إحداثيات الخلية. تشمل الخلايا المستخدمة الخلايا التي تحتوي على صيغ، ومحتوى نصي، وتنسيق الخلية، على سبيل المثال "A1:D5". عندما يكون نطاق إحداثيات الخلية المعطى سلسلة فارغة، فسيتم إزالة منطقة الخلية المستخدمة لورقة العمل.
Get Worksheet Dimension
func (f *File) GetSheetDimension(sheet string) (string, error)
يحصل على منطقة الخلية المستخدمة في ورقة العمل المحددة استنادًا إلى اسم ورقة العمل المعطى.