دفتر العمل
تحدد Options
خيارات قراءة وكتابة جداول البيانات.
type Options struct {
MaxCalcIterations uint
Password string
RawCellValue bool
UnzipSizeLimit int64
UnzipXMLSizeLimit int64
ShortDatePattern string
LongDatePattern string
LongTimePattern string
CultureInfo CultureName
}
يحدد MaxCalcIterations
الحد الأقصى من التكرارات للحساب التكراري ، والقيمة الافتراضية هي 0.
تحدد Password
كلمة مرور جدول البيانات بنص عادي.
يحدد RawCellValue
ما إذا كان يتم تطبيق تنسيق الأرقام لقيمة الخلية أو الحصول على القيمة الأولية.
يحدّد UnzipSizeLimit
حد حجم فك الضغط بالبايت عند فتح جدول البيانات ، ويجب أن تكون هذه القيمة أكبر من أو تساوي UnzipXMLSizeLimit
، الحد الافتراضي للحجم هو 16 غيغابايت.
يحدد UnzipXMLSizeLimit
حد الذاكرة لفك ضغط ورقة العمل بالبايت ، وسيتم استخراج XML لورقة العمل إلى دليل النظام المؤقت عندما يكون حجم الملف أكبر من هذه القيمة ، يجب أن تكون هذه القيمة أقل من أو تساوي UnzipSizeLimit
، القيمة الافتراضية هي 16 ميغا بايت.
يحدد ShortDatePattern
رمز تنسيق رقم التاريخ القصير. في تطبيقات جداول البيانات ، تعرض تنسيقات التاريخ الأرقام التسلسلية للتاريخ والوقت كقيم للتاريخ. تستجيب تنسيقات التاريخ التي تبدأ بعلامة النجمة (*) للتغييرات في إعدادات التاريخ والوقت الإقليمية المحددة لنظام التشغيل. لا تتأثر التنسيقات التي لا تحتوي على علامة النجمة بإعدادات نظام التشغيل. يحدد ShortDatePattern
المستخدم لتنسيقات التاريخ التي تبدأ بعلامة النجمة.
يحدد LongDatePattern
رمز تنسيق رقم التاريخ الطويل.
يحدد LongTimePattern
رمز تنسيق الرقم لفترة طويلة.
يحدد CultureInfo
رمز البلد لتطبيق كود تنسيق رقم اللغة المدمج الذي يؤثر على إعدادات اللغة المحلية للنظام.
قم بإنشاء جدول بيانات
func NewFile(opts ...Options) *File
يوفر NewFile
وظيفة لإنشاء ملف جديد بواسطة القالب الافتراضي. سيحتوي المصنف الذي تم إنشاؤه حديثًا بشكل افتراضي على ورقة عمل باسم Sheet1
. فمثلا:
افتح
func OpenFile(filename string, opts ...Options) (*File, error)
يأخذ OpenFile اسم ملف جدول البيانات ويعيد بنية ملف جدول بيانات معبأة له. على سبيل المثال ، افتح جدول بيانات محميًا بكلمة مرور:
f, err := excelize.OpenFile("المصنف1.xlsx", excelize.Options{Password: "password"})
if err != nil {
return
}
أغلق الملف عن طريق Close()
بعد فتح جدول البيانات.
فتح دفق البيانات
func OpenReader(r io.Reader, opts ...Options) (*File, error)
يقوم OpenReader بقراءة دفق البيانات من io.Reader
وإرجاع ملف جدول بيانات ممتلئ.
على سبيل المثال ، أنشئ خادم HTTP للتعامل مع قالب التحميل ، ثم استجابة ملف التنزيل مع إضافة ورقة عمل جديدة:
package main
import (
"fmt"
"net/http"
"github.com/xuri/excelize/v2"
)
func process(w http.ResponseWriter, req *http.Request) {
file, _, err := req.FormFile("file")
if err != nil {
fmt.Fprint(w, err.Error())
return
}
defer file.Close()
f, err := excelize.OpenReader(file)
if err != nil {
fmt.Fprint(w, err.Error())
return
}
f.Path = "Book1.xlsx"
f.NewSheet("NewSheet")
w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%s", f.Path))
w.Header().Set("Content-Type", req.Header.Get("Content-Type"))
if err := f.Write(w); err != nil {
fmt.Fprint(w, err.Error())
}
}
func main() {
http.HandleFunc("/process", process)
http.ListenAndServe(":8090", nil)
}
اختبار مع cURL:
curl --location --request GET 'http://127.0.0.1:8090/process' \
--form 'file=@/tmp/template.xltx' -O -J
حفظ
func (f *File) Save(opts ...Options) error
يوفر Save وظيفة لتجاوز جدول البيانات بمسار الأصل.
حفظ باسم
func (f *File) SaveAs(name string, opts ...Options) error
يوفر SaveAs وظيفة لإنشاء أو تحديث جدول بيانات في المسار المتوفر.
إغلاق المصنف
func (f *File) Close() error
يقوم Close بإغلاق وتنظيف الملف المؤقت المفتوح لجدول البيانات.
قم بإنشاء ورقة عمل
func (f *File) NewSheet(sheet string) (int, error)
يوفر NewSheet وظيفة لإنشاء ورقة جديدة من خلال إعطاء اسم ورقة العمل وإرجاع فهرس الأوراق في المصنف (جدول البيانات) بعد إلحاقه. لاحظ أنه عند إنشاء ملف جدول بيانات جديد ، سيتم إنشاء ورقة العمل الافتراضية المسماة Sheet1
.
احذف ورقة العمل
func (f *File) DeleteSheet(sheet string) error
يوفر DeleteSheet وظيفة لحذف ورقة العمل في مصنف حسب اسم ورقة العمل المحدد ، وأسماء الأوراق ليست حساسة لحالة الأحرف. استخدم هذه الطريقة بحذر ، مما سيؤثر على التغييرات في المراجع مثل الصيغ والمخططات وما إلى ذلك. إذا كان هناك أي قيمة مرجعية لورقة العمل المحذوفة ، فسوف يتسبب ذلك في حدوث خطأ في الملف عند فتحه. ستكون هذه الوظيفة غير صالحة عند ترك ورقة عمل واحدة فقط.
نسخ ورقة العمل
func (f *File) CopySheet(from, to int) error
يوفر CopySheet وظيفة لتكرار ورقة العمل من خلال إعطاء فهرس ورقة العمل المصدر والهدف. لاحظ أنه لا يدعم حاليًا المصنفات المكررة التي تحتوي على جداول أو مخططات أو صور. فمثلا:
// Sheet1 موجود بالفعل...
index, err := f.NewSheet("Sheet2")
if err != nil {
fmt.Println(err)
return
}
err := f.CopySheet(1, index)
أوراق عمل المجموعة
func (f *File) GroupSheets(sheets []string) error
توفر GroupSheets وظيفة لتجميع أوراق العمل حسب اسم أوراق العمل المحدد. يجب أن تحتوي أوراق العمل الجماعية على ورقة عمل نشطة.
فك تجميع أوراق العمل
func (f *File) UngroupSheets() error
توفر UngroupSheets وظيفة لفك تجميع أوراق العمل.
تعيين خلفية ورقة العمل
func (f *File) SetSheetBackground(sheet, picture string) error
يوفر SetSheetBackground وظيفة لتعيين صورة الخلفية عن طريق اسم ورقة العمل ومسار الملف. أنواع الصور المدعومة: BMP و EMF و EMZ و GIF و JPEG و JPG و PNG و SVG و TIF و TIFF و WMF و WMZ.
func (f *File) SetSheetBackgroundFromBytes(sheet, extension string, picture []byte) error
يوفر SetSheetBackgroundFromBytes وظيفة لتعيين صورة الخلفية عن طريق اسم ورقة العمل المعطى واسم الامتداد وبيانات الصورة. أنواع الصور المدعومة: BMP و EMF و EMZ و GIF و JPEG و JPG و PNG و SVG و TIF و TIFF و WMF و WMZ.
تعيين ورقة العمل الافتراضية
func (f *File) SetActiveSheet(index int)
يوفر SetActiveSheet وظيفة لتعيين الورقة النشطة الافتراضية للمصنف بواسطة فهرس معين. لاحظ أن الفهرس النشط يختلف عن المعرف الذي تم إرجاعه بواسطة الوظيفة GetSheetMap
. يجب أن يكون أكبر أو يساوي 0 وأقل من إجمالي أرقام ورقة العمل.
احصل على فهرس الورقة النشط
func (f *File) GetActiveSheetIndex() int
يوفر GetActiveSheetIndex وظيفة للحصول على ورقة عمل نشطة من المصنف. إذا لم يتم العثور على الورقة النشطة ، فستعرض عددًا صحيحًا 0
.
تعيين ورقة العمل مرئية
func (f *File) SetSheetVisible(sheet string, visible bool, veryHidden ...bool) error
يوفر SetSheetVisible وظيفة لتعيين ورقة العمل مرئية من خلال اسم ورقة العمل المحدد. يجب أن يحتوي المصنف على ورقة عمل مرئية واحدة على الأقل. إذا تم تنشيط ورقة العمل المحددة ، فسيتم إبطال هذا الإعداد. لا تعمل المعلمة الاختيارية الثالثة veryHidden
إلا عندما تكون visible
هي false
.
على سبيل المثال ، إخفاء Sheet1
:
err := f.SetSheetVisible("Sheet1", false)
احصل على ورقة العمل مرئية
func (f *File) GetSheetVisible(sheet string) (bool, error)
يوفر GetSheetVisible وظيفة لإظهار ورقة العمل من خلال اسم ورقة العمل المحدد. على سبيل المثال ، احصل على الحالة المرئية لـ Sheet1
:
visible, err := f.GetSheetVisible("Sheet1")
تعيين خصائص الورقة
func (f *File) SetSheetProps(sheet string, opts *SheetPropsOptions) error
يوفر SetSheetProps وظيفة لتعيين خصائص ورقة العمل. الخصائص التي يمكن تعيينها هي:
خيارات | اكتب | وصف |
---|---|---|
CodeName | *string |
يحدد اسما ثابتا للورقة، والذي يجب ألا يتغير بمرور الوقت، ولا يتغير من إدخال المستخدم. يجب استخدام هذا الاسم بواسطة التعليمات البرمجية للإشارة إلى ورقة معينة |
EnableFormatConditionsCalculation | *bool |
بيان ما إذا كان سيتم تقييم حسابات التنسيق الشرطي. إذا تم تعيينها إلى false، فلن يتم تحديث قيم الصغر/الحد الأقصى لمقاييس الألوان أو أشرطة البيانات أو قيم العتبة في قواعد Top N. أساسا التنسيق الشرطي "calc" هو قبالة |
Published | *bool |
بالإشارة إلى ما إذا كان قد تم نشر ورقة العمل أم لا، تكون القيمة الافتراضية هي true |
AutoPageBreaks | *bool |
بالإشارة إلى ما إذا كانت الورقة تعرض فواصل الصفحات التلقائية، تكون القيمة الافتراضية هي true |
FitToPage | *bool |
بالإشارة إلى ما إذا كان خيار طباعة احتواء الصفحة ممكنا أم لا، تكون القيمة الافتراضية هي false |
TabColorIndexed | *int |
يمثل قيمة اللون المفهرسة |
TabColorRGB | *string |
يمثل قيمة اللون ARGB (ألفا أحمر أخضر أزرق) القياسية |
TabColorTheme | *int |
يمثل الفهرس المستند إلى الصفر في المجموعة، مع الإشارة إلى قيمة معينة يتم التعبير عنها في جزء النسق |
TabColorTint | *float64 |
يحدد قيمة الصبغة المطبقة على اللون، والقيمة الافتراضية هي 0.0 |
OutlineSummaryBelow | *bool |
للإشارة إلى ما إذا كانت صفوف الملخص تظهر أسفل التفاصيل في مخطط تفصيلي، عند تطبيق مخطط تفصيلي، تكون القيمة الافتراضية هي true |
OutlineSummaryRight | *bool |
للإشارة إلى ما إذا كانت أعمدة الملخص تظهر على يسار التفاصيل في مخطط تفصيلي، عند تطبيق مخطط تفصيلي، تكون القيمة الافتراضية هي true |
BaseColWidth | *uint8 |
يحدد عدد أحرف الحد الأقصى لعرض الأرقام لخط النمط العادي. لا تتضمن هذه القيمة حشو الهامش أو الحشو الإضافي لخطوط الشبكة. إنه فقط عدد الأحرف ، القيمة الافتراضية هي 8 |
DefaultColWidth | *float64 |
يحدد عرض العمود الافتراضي الذي تم قياسه كعدد أحرف الحد الأقصى لعرض الأرقام لخط النمط العادي |
DefaultRowHeight | *float64 |
يحدد ارتفاع الصف الافتراضي الذي تم قياسه بحجم النقطة. التحسين حتى لا نضطر إلى كتابة الارتفاع على جميع الصفوف. يمكن كتابة ذلك إذا كان لمعظم الصفوف ارتفاع مخصص ، لتحقيق التحسين |
CustomHeight | *bool |
يحدد الارتفاع المخصص ، القيمة الافتراضية هي false |
ZeroHeight | *bool |
يحدد ما إذا كانت الصفوف مخفية، تكون القيمة الافتراضية هي false |
ThickTop | *bool |
يحدد ما إذا كانت الصفوف تحتوي على حد علوي سميك بشكل افتراضي، فإن القيمة الافتراضية هي false |
ThickBottom | *bool |
يحدد ما إذا كانت الصفوف تحتوي على حد سفلي سميك بشكل افتراضي، فإن القيمة الافتراضية هي false |
على سبيل المثال ، اجعل صفوف ورقة العمل الافتراضية مخفية:
f, enable := excelize.NewFile(), true
if err := f.SetSheetView("Sheet1", -1, &excelize.ViewOptions{
RightToLeft: &enable,
}); err != nil {
fmt.Println(err)
}
if err := f.SetSheetProps("Sheet1", &excelize.SheetPropsOptions{
ZeroHeight: &enable,
}); err != nil {
fmt.Println(err)
}
if err := f.SetRowVisible("Sheet1", 10, true); err != nil {
fmt.Println(err)
}
f.SaveAs("المصنف1.xlsx")
الحصول على خصائص ورقة
func (f *File) GetSheetProps(sheet string) (SheetPropsOptions, error)
يوفر GetSheetProps دالة للحصول على خصائص ورقة العمل. الخصائص التي يمكن تعيينها هي:
خيارات | اكتب | وصف |
---|---|---|
DefaultGridColor | *bool |
الإشارة إلى أن التطبيق المستهلك يجب أن يستخدم لون خطوط الشبكة الافتراضي (يعتمد على النظام). يتجاوز أي لون محدد في colorId ، القيمة الافتراضية هي true |
RightToLeft | *bool |
الإشارة إلى ما إذا كانت الورقة في وضع العرض "من اليمين إلى اليسار". عندما يكون العمود A في هذا الوضع ، يكون في أقصى اليمين ، العمود B ؛ هو عمود واحد يسار العمود A، وهكذا. أيضا ، يتم عرض المعلومات في الخلايا بتنسيق من اليمين إلى اليسار ، والقيمة الافتراضية هي false |
ShowFormulas | *bool |
للإشارة إلى ما إذا كان يجب أن تعرض هذه الورقة صيغا ، فإن القيمة الافتراضية هي false |
ShowGridLines | *bool |
بالإشارة إلى ما إذا كان يجب أن تعرض هذه الورقة خطوط الشبكة ، فإن القيمة الافتراضية هي true |
ShowRowColHeaders | *bool |
بالإشارة إلى ما إذا كان يجب أن تعرض الورقة عناوين الصفوف والأعمدة، تكون القيمة الافتراضية هي true |
ShowRuler | *bool |
بالإشارة إلى أن هذه الورقة يجب أن تعرض المسطرة ، فإن القيمة الافتراضية هي true |
ShowZeros | *bool |
الإشارة إلى ما إذا كان يجب "إظهار صفر في الخلايا التي لها قيمة صفرية". عند استخدام صيغة للإشارة إلى خلية أخرى فارغة، تصبح القيمة المشار إليها 0 عندما تكون العلامة true ، وتكون القيمة الافتراضية هي true |
TopLeftCell | *string |
يحدد موقعا للخلية المرئية العلوية اليسرى موقع الخلية المرئية العلوية اليسرى في الجزء السفلي الأيسر (عندما تكون في الوضع من اليسار إلى اليمين) |
View | *string |
للإشارة إلى كيفية عرض الورقة ، فإنها تستخدم افتراضيا سلسلة فارغة وخيارات متاحة: normal و pageBreakPreview و pageLayout |
ZoomScale | *float64 |
يحدد تكبير تكبير النافذة للعرض الحالي الذي يمثل قيم النسبة المئوية. تقتصر هذه السمة على قيم تتراوح من 10 إلى 400 . مقياس أفقي ورأسي معا ، القيمة الافتراضية هي 100 |
تعيين خصائص عرض ورقة العمل
func (f *File) SetSheetView(sheet string, viewIndex int, opts *ViewOptions) error
تعيين SetSheetView خصائص عرض الورقة. قد يكون viewIndex
سالبًا وإذا كان الأمر كذلك يتم حسابه تنازليًا (-1
هو العرض الأخير).
احصل على خصائص عرض ورقة العمل
func (f *File) GetSheetView(sheet string, viewIndex int) (ViewOptions, error)
يحصل GetSheetView على قيمة خصائص عرض الورقة. قد يكون viewIndex
سالبًا وإذا كان الأمر كذلك يتم حسابه تنازليًا (-1
هو العرض الأخير).
تعيين تخطيط صفحة ورقة العمل
func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
يوفر SetPageLayout وظيفة لتعيين تخطيط صفحة ورقة العمل. الخيارات المتاحة:
حدد Size
حجم ورق ورقة العمل ، وحجم الورق الافتراضي لورقة العمل هو "ورق إلكتروني (8.5 بوصة × 11 بوصة)". يوضح ما يلي حجم الورق مرتبة حسب رقم فهرس Excelize:
فهرس | حجم الورق |
---|---|
1 | Letter paper (8.5 in. × 11 in.) |
2 | Letter small paper (8.5 in. × 11 in.) |
3 | Tabloid paper (11 in. × 17 in.) |
4 | Ledger paper (17 in. × 11 in.) |
5 | Legal paper (8.5 in. × 14 in.) |
6 | Statement paper (5.5 in. × 8.5 in.) |
7 | Executive paper (7.25 in. × 10.5 in.) |
8 | A3 paper (297 mm × 420 mm) |
9 | A4 paper (210 mm × 297 mm) |
10 | A4 small paper (210 mm × 297 mm) |
11 | A5 paper (148 mm × 210 mm) |
12 | B4 paper (250 mm × 353 mm) |
13 | B5 paper (176 mm × 250 mm) |
14 | Folio paper (8.5 in. × 13 in.) |
15 | Quarto paper (215 mm × 275 mm) |
16 | Standard paper (10 in. × 14 in.) |
17 | Standard paper (11 in. × 17 in.) |
18 | Note paper (8.5 in. × 11 in.) |
19 | #9 envelope (3.875 in. × 8.875 in.) |
20 | #10 envelope (4.125 in. × 9.5 in.) |
21 | #11 envelope (4.5 in. × 10.375 in.) |
22 | #12 envelope (4.75 in. × 11 in.) |
23 | #14 envelope (5 in. × 11.5 in.) |
24 | C paper (17 in. × 22 in.) |
25 | D paper (22 in. × 34 in.) |
26 | E paper (34 in. × 44 in.) |
27 | DL envelope (110 mm × 220 mm) |
28 | C5 envelope (162 mm × 229 mm) |
29 | C3 envelope (324 mm × 458 mm) |
30 | C4 envelope (229 mm × 324 mm) |
31 | C6 envelope (114 mm × 162 mm) |
32 | C65 envelope (114 mm × 229 mm) |
33 | B4 envelope (250 mm × 353 mm) |
34 | B5 envelope (176 mm × 250 mm) |
35 | B6 envelope (176 mm × 125 mm) |
36 | Italy envelope (110 mm × 230 mm) |
37 | Monarch envelope (3.875 in. × 7.5 in.). |
38 | 6¾ envelope (3.625 in. × 6.5 in.) |
39 | US standard fanfold (14.875 in. × 11 in.) |
40 | German standard fanfold (8.5 in. × 12 in.) |
41 | German legal fanfold (8.5 in. × 13 in.) |
42 | ISO B4 (250 mm × 353 mm) |
43 | Japanese postcard (100 mm × 148 mm) |
44 | Standard paper (9 in. × 11 in.) |
45 | Standard paper (10 in. × 11 in.) |
46 | Standard paper (15 in. × 11 in.) |
47 | Invite envelope (220 mm × 220 mm) |
50 | Letter extra paper (9.275 in. × 12 in.) |
51 | Legal extra paper (9.275 in. × 15 in.) |
52 | Tabloid extra paper (11.69 in. × 18 in.) |
53 | A4 extra paper (236 mm × 322 mm) |
54 | Letter transverse paper (8.275 in. × 11 in.) |
55 | A4 transverse paper (210 mm × 297 mm) |
56 | Letter extra transverse paper (9.275 in. × 12 in.) |
57 | SuperA/SuperA/A4 paper (227 mm × 356 mm) |
58 | SuperB/SuperB/A3 paper (305 mm × 487 mm) |
59 | Letter plus paper (8.5 in. × 12.69 in.) |
60 | A4 plus paper (210 mm × 330 mm) |
61 | A5 transverse paper (148 mm × 210 mm) |
62 | JIS B5 transverse paper (182 mm × 257 mm) |
63 | A3 extra paper (322 mm × 445 mm) |
64 | A5 extra paper (174 mm × 235 mm) |
65 | ISO B5 extra paper (201 mm × 276 mm) |
66 | A2 paper (420 mm × 594 mm) |
67 | A3 transverse paper (297 mm × 420 mm) |
68 | A3 extra transverse paper (322 mm × 445 mm) |
69 | Japanese Double Postcard (200 mm × 148 mm) |
70 | A6 (105 mm × 148 mm) |
71 | Japanese Envelope Kaku #2 |
72 | Japanese Envelope Kaku #3 |
73 | Japanese Envelope Chou #3 |
74 | Japanese Envelope Chou #4 |
75 | Letter Rotated (11 × 8½ in.) |
76 | A3 Rotated (420 mm × 297 mm) |
77 | A4 Rotated (297 mm × 210 mm) |
78 | A5 Rotated (210 mm × 148 mm) |
79 | B4 (JIS) Rotated (364 mm × 257 mm) |
80 | B5 (JIS) Rotated (257 mm × 182 mm) |
81 | Japanese Postcard Rotated (148 mm × 100 mm) |
82 | Double Japanese Postcard Rotated (148 mm × 200 mm) |
83 | A6 Rotated (148 mm × 105 mm) |
84 | Japanese Envelope Kaku #2 Rotated |
85 | Japanese Envelope Kaku #3 Rotated |
86 | Japanese Envelope Chou #3 Rotated |
87 | Japanese Envelope Chou #4 Rotated |
88 | B6 (JIS) (128 mm × 182 mm) |
89 | B6 (JIS) Rotated (182 mm × 128 mm) |
90 | (12 in × 11 in) |
91 | Japanese Envelope You #4 |
92 | Japanese Envelope You #4 Rotated |
93 | PRC 16K (146 mm × 215 mm) |
94 | PRC 32K (97 mm × 151 mm) |
95 | PRC 32K(Big) (97 mm × 151 mm) |
96 | PRC Envelope #1 (102 mm × 165 mm) |
97 | PRC Envelope #2 (102 mm × 176 mm) |
98 | PRC Envelope #3 (125 mm × 176 mm) |
99 | PRC Envelope #4 (110 mm × 208 mm) |
100 | PRC Envelope #5 (110 mm × 220 mm) |
101 | PRC Envelope #6 (120 mm × 230 mm) |
102 | PRC Envelope #7 (160 mm × 230 mm) |
103 | PRC Envelope #8 (120 mm × 309 mm) |
104 | PRC Envelope #9 (229 mm × 324 mm) |
105 | PRC Envelope #10 (324 mm × 458 mm) |
106 | PRC 16K Rotated |
107 | PRC 32K Rotated |
108 | PRC 32K(Big) Rotated |
109 | PRC Envelope #1 Rotated (165 mm × 102 mm) |
110 | PRC Envelope #2 Rotated (176 mm × 102 mm) |
111 | PRC Envelope #3 Rotated (176 mm × 125 mm) |
112 | PRC Envelope #4 Rotated (208 mm × 110 mm) |
113 | PRC Envelope #5 Rotated (220 mm × 110 mm) |
114 | PRC Envelope #6 Rotated (230 mm × 120 mm) |
115 | PRC Envelope #7 Rotated (230 mm × 160 mm) |
116 | PRC Envelope #8 Rotated (309 mm × 120 mm) |
117 | PRC Envelope #9 Rotated (324 mm × 229 mm) |
118 | PRC Envelope #10 Rotated (458 mm × 324 mm) |
حدد Orientation
المحدد في اتجاه ورقة العمل ، والاتجاه الافتراضي هو portrait
. القيم المحتملة لهذا الحقل هي portrait
و landscape
.
حدد FirstPageNumber
رقم أول صفحة مطبوعة. إذا لم يتم تحديد قيمة ، فسيتم افتراض "تلقائي".
حدد AdjustTo
مقياس الطباعة. هذه السمة مقيدة بقيم تتراوح من 10 (10٪) إلى 400 (400٪). يتم تجاوز هذا الإعداد عند استخدام FitToWidth
و / أو FitToHeight
.
حدد FitToHeight
عدد الصفحات الرأسية التي سيتم احتواؤها.
حدد FitToWidth
عدد الصفحات الأفقية التي يجب احتواؤها.
حدد BlackAndWhite
الطباعة بالأبيض والأسود.
- على سبيل المثال ، عيّن تخطيط الصفحة لـ
Sheet1
بطباعة بالأبيض والأسود ، ورقم الصفحة الأول المطبوع من2
، وورق A4 صغير الحجم أفقيًا (210 مم × 297 مم) ، صفحتان رأسيتان للملاءمة وصفحتان أفقيتان لملاءمتهما:
f := excelize.NewFile()
var (
size = 10
orientation = "landscape"
firstPageNumber uint = 2
adjustTo uint = 100
fitToHeight = 2
fitToWidth = 2
blackAndWhite = true
)
if err := f.SetPageLayout("Sheet1", &excelize.PageLayoutOptions{
Size: &size,
Orientation: &orientation,
FirstPageNumber: &firstPageNumber,
AdjustTo: &adjustTo,
FitToHeight: &fitToHeight,
FitToWidth: &fitToWidth,
BlackAndWhite: &blackAndWhite,
}); err != nil {
fmt.Println(err)
}
احصل على تخطيط صفحة ورقة العمل
func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
يوفر GetPageLayout وظيفة للحصول على تخطيط صفحة ورقة العمل.
تعيين هوامش صفحة ورقة العمل
func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
يوفر SetPageMargins وظيفة لتعيين هوامش صفحة ورقة العمل. الخيارات المتاحة:
خيارات | اكتب | وصف |
---|---|---|
Bottom | *float64 |
الأسفل |
Footer | *float64 |
تذييل |
Header | *float64 |
رأس |
Left | *float64 |
اليسار |
Right | *float64 |
الصحيح |
Top | *float64 |
قمة |
Horizontally | *bool |
توسيط في الصفحة: أفقيًا |
Vertically | *bool |
توسيط في الصفحة: عموديًا |
احصل على هوامش صفحة ورقة العمل
func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
يوفر GetPageMargins وظيفة للحصول على هوامش صفحة ورقة العمل.
تعيين خصائص المصنف
func (f *File) SetWorkbookProps(opts *WorkbookPropsOptions) error
يوفر SetWorkbookProps دالة لتعيين خصائص المصنف. الخيارات المتاحة:
خيارات | اكتب | وصف |
---|---|---|
Date1904 | *bool |
يشير إلى ما إذا كان سيتم استخدام نظام تاريخ 1900 أو 1904 عند تحويل أوقات التاريخ التسلسلي في المصنف إلى تواريخ. |
FilterPrivacy | *bool |
تحدد قيمة منطقية تشير إلى ما إذا كان التطبيق قد قام بفحص المصنف لمعرفة معلومات التعريف الشخصية (PII). إذا تم تعيين هذه العلامة ، فإن التطبيق يحذر المستخدم في أي وقت يقوم فيه المستخدم بإجراء من شأنه إدراج معلومات تحديد الهوية الشخصية في المستند. |
CodeName | *string |
يحدد الاسم الرمزي للتطبيق الذي أنشأ هذا المصنف. استخدم هذه السمة لتعقب محتوى الملف في الإصدارات المتزايدة من التطبيق. |
احصل على خصائص المصنف
func (f *File) GetWorkbookProps() (WorkbookPropsOptions, error)
يوفر GetWorkbookProps دالة للحصول على خصائص المصنف.
تعيين الرأس والتذييل
func (f *File) SetHeaderFooter(sheet string, opts *HeaderFooterOptions) error
يوفر SetHeaderFooter وظيفة لتعيين الرؤوس والتذييلات من خلال اسم ورقة العمل المحددة وأحرف التحكم.
يتم تحديد الرؤوس والتذييلات باستخدام حقول الإعدادات التالية:
مجالات | وصف |
---|---|
AlignWithMargins | محاذاة هوامش تذييل الرأس مع هوامش الصفحة |
DifferentFirst | مؤشر مختلف لرأس وتذييل الصفحة الأولىمؤشر مختلف لرأس وتذييل الصفحة الأولى |
DifferentOddEven | مؤشرات مختلفة للرؤوس والتذييلات الفردية والزوجية |
ScaleWithDoc | مقياس الرأس والتذييل باستخدام مقياس المستند |
OddFooter | تذييل الصفحة الفردية، أو تذييل الصفحة الأساسي إذا كانت قيمة DifferentOddEven هي false |
OddHeader | رأس فردي، أو رأس الصفحة الأساسي إذا كانت قيمة DifferentOddEven هي false |
EvenFooter | حتى تذييل الصفحة |
EvenHeader | حتى رأس الصفحة |
FirstFooter | تذييل الصفحة الأولى |
FirstHeader | رأس الصفحة الأولى |
يمكن استخدام رموز التنسيق التالية في 6 حقول من نوع السلسلة: OddHeader
, OddFooter
, EvenHeader
, EvenFooter
, FirstFooter
, FirstHeader
كود التنسيق | وصف |
---|---|
&& |
الشخصية "&" |
&font-size |
حجم خط النص ، حيث يكون حجم الخط هو حجم الخط العشري بالنقاط |
&"font name,font type" |
سلسلة اسم الخط النصي ، واسم الخط ، وسلسلة نوع الخط النصي ، ونوع الخط |
&"-,Regular" |
تنسيق النص العادي. تبديل الوضعين الغامق والمائل إلى إيقاف التشغيل |
&A |
اسم علامة تبويب ورقة العمل الحالية |
&B or &"-,Bold" |
تنسيق نص عريض ، من إيقاف تشغيل إلى تشغيل ، أو العكس. الوضع الافتراضي معطل |
&D |
التاريخ الحالي |
&C |
قسم المركز |
&E |
تنسيق نص مزدوج التسطير |
&F |
اسم ملف المصنف الحالي |
&G |
كائن رسومي كخلفية (لا يدعم حاليا) |
&H |
تنسيق نص الظل |
&I or &"-,Italic" |
تنسيق نص مائل |
&K |
لون خط النص تم تحديد لون RGB على أنه RRGGBB يتم تحديد لون النسق على أنه TTSNNN حيث يكون TT هو معرف لون النسق ، S إما "+" أو "-" قيمة الصبغة / الظل ، و NNN هي قيمة الصبغة / الظل |
&L |
القسم الأيسر |
&N |
العدد الإجمالي للصفحات |
&O |
تنسيق نص المخطط التفصيلي |
&P[[+\|-]n] |
بدون اللاحقة الاختيارية ، يكون رقم الصفحة الحالي في النظام العشري |
&R |
القسم الأيمن |
&S |
تنسيق نص يتوسطه خط |
&T |
الوقت الحالي |
&U |
تنسيق نص تسطير واحد. إذا كان وضع التسطير المزدوج قيد التشغيل ، فإن التواجد التالي في محدد القسم يقوم بتبديل وضع التسطير المزدوج إلى وضع الإيقاف ؛ وإلا ، فإنه يقوم بتبديل وضع التسطير الفردي ، من إيقاف تشغيل إلى تشغيل ، أو العكس. الوضع الافتراضي معطل |
&X |
تنسيق نص مرتفع |
&Y |
تنسيق نص منخفض |
&Z |
مسار ملف المصنف الحالي |
فمثلا:
err := f.SetHeaderFooter("Sheet1", &excelize.HeaderFooterOptions{
DifferentFirst: true,
DifferentOddEven: true,
OddHeader: "&R&P",
OddFooter: "&C&F",
EvenHeader: "&L&P",
EvenFooter: "&L&D&R&T",
FirstHeader: `&CCenter &"-,Bold"Bold&"-,Regular"HeaderU+000A&D`,
})
يوضح هذا المثال:
- تحتوي الصفحة الأولى على رأس وتذييل خاصين بها
- الصفحات الفردية والزوجية لها رؤوس وتذييلات مختلفة
- رقم الصفحة الحالي في القسم الأيمن من رؤوس الصفحات الفردية
- اسم ملف المصنف الحالي في القسم الأوسط من تذييلات الصفحات الفردية
- رقم الصفحة الحالي في القسم الأيسر من رؤوس الصفحات الزوجية
- التاريخ الحالي في القسم الأيسر والوقت الحالي في القسم الأيمن من تذييلات الصفحات الزوجية
- النص "Center Bold Header" في السطر الأول من القسم الأوسط من الصفحة الأولى ، والتاريخ في السطر الثاني من القسم الأوسط من نفس الصفحة
- لا يوجد تذييل في الصفحة الأولى
تعيين الاسم المحدد
func (f *File) SetDefinedName(definedName *DefinedName) error
يوفر SetDefinedName دالة لتعيين الأسماء المحددة للمصنف أو ورقة العمل. إذا لم يتم تحديد النطاق ، فإن النطاق الافتراضي هو المصنف. فمثلا:
err := f.SetDefinedName(&excelize.DefinedName{
Name: "Amount",
RefersTo: "Sheet1!$A$2:$D$5",
Comment: "defined name comment",
Scope: "Sheet2",
})
إعدادات منطقة الطباعة وعناوين الطباعة لورقة العمل:
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Print_Area",
RefersTo: "Sheet1!$A$1:$Z$100",
Scope: "Sheet1",
}); err != nil {
fmt.Println(err)
}
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Print_Titles",
RefersTo: "Sheet1!$A:$A,Sheet1!$1:$1",
Scope: "Sheet1",
}); err != nil {
fmt.Println(err)
}
احصل على اسم محدد
func (f *File) GetDefinedName() []DefinedName
يوفر GetDefinedName دالة للحصول على الأسماء المحددة للمصنف أو ورقة العمل.
حذف الاسم المحدد
func (f *File) DeleteDefinedName(definedName *DefinedName) error
يوفر DeleteDefinedName وظيفة لحذف الأسماء المعرفة للمصنف أو ورقة العمل. إذا لم يتم تحديد النطاق ، فإن النطاق الافتراضي هو المصنف. فمثلا:
err := f.DeleteDefinedName(&excelize.DefinedName{
Name: "Amount",
Scope: "Sheet2",
})
تعيين خصائص التطبيق
func (f *File) SetAppProps(appProperties *AppProperties) error
يوفر SetAppProps وظيفة لتعيين خصائص تطبيق المستند. الخصائص التي يمكن تعيينها هي:
خاصية | وصف |
---|---|
Application | اسم التطبيق الذي أنشأ هذا المستند. |
ScaleCrop | يشير إلى وضع عرض الصورة المصغرة للوثيقة. اضبط هذا العنصر على true لتمكين تغيير حجم الصورة المصغرة للمستند إلى العرض. اضبط هذا العنصر على false لتمكين اقتصاص الصورة المصغرة للمستند لإظهار الأقسام التي تناسب العرض فقط. |
DocSecurity | مستوى الأمان للمستند كقيمة عددية. يتم تعريف أمان المستند على أنه: 1 - المستند محمي بكلمة مرور 2 - يُوصى بفتح المستند للقراءة فقط 3 - يتم فرض المستند لفتحه للقراءة فقط 4 - تم قفل المستند للتعليق التوضيحي |
Company | اسم الشركة المرتبطة بالمستند. |
LinksUpToDate | يشير إلى ما إذا كانت الارتباطات التشعبية في مستند محدثة أم لا. عيّن هذا العنصر على true للإشارة إلى تحديث الارتباطات التشعبية. عيّن هذا العنصر على false للإشارة إلى أن الارتباطات التشعبية قديمة. |
HyperlinksChanged | تعيين ارتباط تشعبي واحد أو أكثر في هذا الجزء تم تحديثه حصريًا في هذا الجزء بواسطة المنتج. يجب على المنتج التالي الذي سيفتح هذا المستند تحديث علاقات الارتباط التشعبي بالارتباطات التشعبية الجديدة المحددة في هذا الجزء. |
AppVersion | يحدد إصدار التطبيق الذي أنتج هذا المستند. يجب أن يكون محتوى هذا العنصر بالصيغة XX.YYYY حيث تمثل X و Y قيمًا عددية ، أو تعتبر الوثيقة غير متوافقة. |
فمثلا:
err := f.SetAppProps(&excelize.AppProperties{
Application: "Microsoft Excel",
ScaleCrop: true,
DocSecurity: 3,
Company: "Company Name",
LinksUpToDate: true,
HyperlinksChanged: true,
AppVersion: "16.0000",
})
احصل على خصائص التطبيق
func (f *File) GetAppProps() (*AppProperties, error)
يوفر GetAppProps وظيفة للحصول على خصائص تطبيق المستند.
تعيين خصائص الوثيقة
func (f *File) SetDocProps(docProperties *DocProperties) error
يوفر SetDocProps وظيفة لتعيين خصائص الوثيقة الأساسية. الخصائص التي يمكن تعيينها هي:
خاصية | وصف |
---|---|
Category | تصنيف محتوى هذه الحزمة. |
ContentStatus | حالة المحتوى. فمثلا: قد تتضمن القيم "Draft" و "Reviewed" و "Final" |
Created | وقت إنشاء محتوى المورد. |
Creator | الكيان مسؤول بشكل أساسي عن صنع محتوى المورد |
Description | شرح لمحتوى المصدر. |
Identifier | إشارة لا لبس فيها إلى المورد ضمن سياق معين. |
Keywords | مجموعة محددة من الكلمات الأساسية لدعم البحث والفهرسة. عادةً ما تكون هذه قائمة بالمصطلحات غير المتوفرة في أي مكان آخر في الخصائص. |
Language | لغة المحتوى الفكري للمصدر. |
LastModifiedBy | المستخدم الذي أجرى التعديل الأخير. التعريف خاص بالبيئة. |
Modified | الوقت المعدل لمحتوى المورد. |
Revision | رقم مراجعة محتوى المصدر. |
Subject | موضوع محتوى المصدر. |
Title | تم إعطاء الاسم للمورد. |
Version | رقم الإصدار. يتم تعيين هذه القيمة من قبل المستخدم أو بواسطة التطبيق. |
فمثلا:
err := f.SetDocProps(&excelize.DocProperties{
Category: "category",
ContentStatus: "Draft",
Created: "2019-06-04T22:00:10Z",
Creator: "Go Excelize",
Description: "This file created by Go Excelize",
Identifier: "xlsx",
Keywords: "Spreadsheet",
LastModifiedBy: "Go Author",
Modified: "2019-06-04T22:00:10Z",
Revision: "0",
Subject: "Test Subject",
Title: "Test Title",
Language: "en-US",
Version: "1.0.0",
})
احصل على خصائص المستند
func (f *File) GetDocProps() (*DocProperties, error)
يوفر GetDocProps وظيفة للحصول على خصائص المستند الأساسية.
حماية المصنف
func (f *File) ProtectWorkbook(opts *WorkbookProtectionOptions) error
يوفر ProtectWorkbook وظيفة لمنع المستخدمين الآخرين من تغيير أو نقل أو حذف البيانات في مصنف عن طريق الخطأ أو عن عمد. الحقل الاختياري AlgorithmName
خوارزمية التجزئة المحددة ، ودعم XOR و MD4 و MD5 و SHA-1 و SHA2-56 و SHA-384 و SHA-512 حاليًا ، إذا لم يتم تحديد خوارزمية تجزئة ، فسيتم استخدام خوارزمية XOR كإعداد افتراضي. على سبيل المثال ، حماية المصنف بإعدادات الحماية:
err := f.ProtectWorkbook(&excelize.WorkbookProtectionOptions{
Password: "password",
LockStructure: true,
})
WorkbookProtectionOptions تعيين إعدادات حماية المصنف مباشرة.
type WorkbookProtectionOptions struct {
AlgorithmName string
Password string
LockStructure bool
LockWindows bool
}
إلغاء حماية المصنف
func (f *File) UnprotectWorkbook(password ...string) error
يوفر UnprotectWorkbook وظيفة لإزالة الحماية للمصنف ، وحدد معلمة كلمة المرور الاختيارية لإزالة حماية المصنف باستخدام التحقق من كلمة المرور.