Excelize v2.7.0
- صدر هذا يوم: 9 كانون الثاني 2023
- صدر في GitHub: https://github.com/xuri/excelize/releases/tag/v2.7.0
ملاحظات الإصدار
التغييرات الأكثر بروزاً في هذا الإصدار:
كسر التغييرات
- متطلبات الترقية إصدار لغة Go هو 1.16 أو أحدث ، لترحيل حزمة الإهمال
ioutil - التحقق من الخطأ وإرجاعه لاسم الورقة غير صالح بدلاً من قص الأحرف غير الصالحة
- لم تعد الدالة
GetCellStyleترجع نمط الخلية الرئيسية لنطاق خلايا الدمج - إعادة تسمية 5 أنواع من البيانات المصدرة وثابت الخطأ:
- أعد تسمية
PivotTableOptionإلىPivotTableOptions - أعد تسمية
FormatHeaderFooterإلىHeaderFooterOptions - أعد تسمية
FormatSheetProtectionإلىSheetProtectionOptions - أعد تسمية
SparklineOptionإلىSparklineOptions - أعد تسمية
ErrExistsWorksheetإلىErrExistsSheet
- أعد تسمية
- إزالة 54 نوعًا مُصدَّرًا:
AutoPageBreaks،BaseColWidth،BlackAndWhite،CodeName،CustomHeight،Date1904،DefaultColWidth،DefaultGridColor،DefaultRowHeight،EnableFormatConditionsCalculation،FilterPrivacy،FirstPageNumber،FitToHeight،FitToPage،FitToWidth،OutlineSummaryBelow،PageLayoutOption،PageLayoutOptionPtr،PageLayoutOrientation،PageLayoutPaperSize،PageLayoutScale،PageMarginBottom،PageMarginFooter،PageMarginHeader،PageMarginLeft،PageMarginRight،PageMarginsOptions،PageMarginsOptionsPtr،PageMarginTop،Published،RightToLeft،SheetFormatPrOptions،SheetFormatPrOptionsPtr،SheetPrOption،SheetPrOptionPtr،SheetViewOption،SheetViewOptionPtr،ShowFormulas،ShowGridLines،ShowRowColHeaders،ShowRuler،ShowZeros،TabColorIndexed،TabColorRGB،TabColorTheme،TabColorTint،ThickBottom،ThickTop،TopLeftCell،View،WorkbookPrOption،WorkbookPrOptionPtr،ZeroHeightوZoomScale - قم بإزالة ثابتين تم تصديرهما:
OrientationPortraitوOrientationLandscape - تغيير توقيع 21 وظائف:
- غير
func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) errorإلىfunc (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error - غير
func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) errorإلىfunc (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error) - غير
func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) errorإلىfunc (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error - غير
func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) errorإلىfunc (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error) - غير
func (f *File) GetSheetIndex(sheet string) intإلىfunc (f *File) GetSheetIndex(sheet string) (int, error) - غير
func (f *File) SetSheetName(source, target string)إلىfunc (f *File) SetSheetName(source, target string) error - غير
func (f *File) GetSheetVisible(sheet string) boolإلىfunc (f *File) GetSheetVisible(sheet string) (bool, error) - غير
func (f *File) DeleteSheet(sheet string)إلىfunc (f *File) DeleteSheet(sheet string) error - غير
func (f *File) NewSheet(sheet string) intإلىfunc (f *File) NewSheet(sheet string) (int, error) - غير
func (f *File) NewConditionalStyle(style string) (int, error)إلىfunc (f *File) NewConditionalStyle(style *Style) (int, error) - غير
func (f *File) NewStyle(style interface{}) (int, error)إلىfunc (f *File) NewStyle(style *Style) (int, error) - غير
func (f *File) AddChart(sheet, cell, opts string, combo ...string) errorإلىfunc (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error - غير
func (f *File) AddChartSheet(sheet, opts string, combo ...string) errorإلىfunc (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error - غير
func (f *File) AddShape(sheet, cell, opts string) errorإلىfunc (f *File) AddShape(sheet, cell string, opts *Shape) error - غير
func (f *File) AddPicture(sheet, cell, picture, format string) errorإلىfunc (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error - غير
func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) errorإلىfunc (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error - غير
func (f *File) AddTable(sheet, hCell, vCell, opts string) errorإلىfunc (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error - غير
func (sw *StreamWriter) AddTable(hCell, vCell, opts string) errorإلىfunc (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error - غير
func (f *File) AutoFilter(sheet, hCell, vCell, opts string) errorإلىfunc (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error - غير
func (f *File) SetPanes(sheet, panes string) errorإلىfunc (f *File) SetPanes(sheet string, panes *Panes) error - غير
func (f *File) SetConditionalFormat(sheet, reference, opts string) errorإلىfunc (f *File) SetConditionalFormat(sheet, rangeRef string, opts []ConditionalFormatOptions) error
- غير
- تقديم وظيفة جديدة بدلاً من الوظائف الحالية:
- استخدم
SetSheetPropsبدلاً منSetSheetPrOptionsوSetSheetFormatPr - استخدم
GetSheetPropsبدلاً منGetSheetPrOptionsوGetSheetFormatPr - استخدم
SetSheetViewبدلاً منSetSheetViewOptions - استخدم
GetSheetViewبدلاً منGetSheetViewOptions - استخدم
SetWorkbookPropsبدلاً منSetWorkbookPrOptions - استخدم
GetWorkbookPropsبدلاً منGetWorkbookPrOptions - استخدم
InsertRowsبدلاً منInsertRowلدعم إدراج صفوف متعددة في وقت واحد - استخدم
InsertColsبدلاً منInsertColلدعم إدراج أعمدة متعددة في وقت واحد
- استخدم
- إضافة
CellTypeFormulaوCellTypeInlineStringوCellTypeSharedStringوإزالةCellTypeStringفي تعدادCellType - تم تغيير المعامل الخاص بوظيفة
AddComment، ودعم إنشاء نص منسق في التعليقات ، قضية ذات صلة #1204 - إزالة طباعة سجل الخطأ الداخلي ، سيتم إرجاع خطأ عند خطأ إلغاء تسلسل XML ، وإضافة قيمة إرجاع خطأ للوظائف
GetCommentsوGetDefaultFontوSetDefaultFont
ميزات بارزة
- أضف دالات جديدة
GetDataValidationsوGetConditionalFormatsللحصول على عمليات التحقق من صحة البيانات والتنسيقات الشرطية ، قضية ذات صلة #827 - إضافة وظائف جديدة
ProtectWorkbookوUnprotectWorkbookلدعم حماية المصنف - إضافة وظيفة جديدة
SetSheetColلتعيين خلايا عمود ورقة العمل ، قضية ذات صلة #1247 - أضف وظيفة جديدة
GetColStyleللحصول على أنماط الأعمدة ، قضية ذات صلة #1293 - أضف وظيفة جديدة
SetSheetBackgroundFromBytesلتعيين صورة الخلفية بواسطة بيانات الصورة المقدمة ، قضية ذات صلة #1405 - إضافة متغير تصدير جديد
IndexedColorMapping - أضف 20 نوع تصدير:
AutoFilterListOptions،AutoFilterOptions،Chart،ChartAxis،ChartDimension،ChartLegend،ChartLine،ChartMarker،ChartPlotArea،ChartSeries،ChartTitle،ConditionalFormatOptions،PaneOptions،Panes،GraphicOptions،Shape،ShapeColor،ShapeLine،ShapeParagraph،TableOptions - دعم جديد لوظيفتي صيغة: AGGREGATE و SUBTOTAL
- تقبل وظيفة
SaveوWriteوWriteToخيارات الحفظ الآن ، قضية ذات صلة #744 - تحدد وظيفة
AddChartما إذا كان الخط المتجانس في المخطط الخطي أم لا ، قضية ذات صلة #1290 - تدعم وظيفة
AddChartتعيين لون خط مخصص في المخططات ، قضية ذات صلة #1345 - تدعم الوظيفة
AddChartنمط خط محور المخطط المخصص ، قضية ذات صلة #320 - تدعم وظيفة
AddChartإنشاء مخطط خطي ثلاثي الأبعاد - الوظائف
SetColWidthوGetColWidthوSetColVisibleوGetColVisibleوSetColStyleوGetColStyleتدعم الآن التزامن الآمن - سيتم إرجاع خطأ عند تعيين معرف النمط غير الموجود ، قضية ذات صلة #1323
- سيتم إرجاع خطأ عند ضبط صف التدفق دون تصاعد أرقام الصفوف لتجنب الأخطاء المحتملة ، قضية ذات صلة #1139
- سيتم تطبيق أسلوب كاتب البث في
RowOptsلكل خلية ، قضية ذات صلة #1354 - دعم كاتب الدفق لتعيين الأجزاء ، قضية ذات صلة #1047
- دعم كاتب الدفق لتعيين خلية نص منسق مضمنة
- يدعم كاتب الدفق إدراج فاصل الصفحة
- تم تصدير 7 أخطاء جديدة تم تصديرها:
ErrUnprotectWorkbookوErrUnprotectWorkbookPasswordوErrStreamSetPanesوErrSheetNameBlankوErrSheetNameInvalidوErrSheetNameLengthوErrSheetNameSingleQuote - تقديم 5 أنواع جديدة من بيانات التصدير:
HeaderFooterOptionsوPageLayoutMarginsOptionsوPageLayoutOptionsوSheetPropsOptionsوViewOptions - دعم لتعيين أعمدة الملخص لتظهر على يسار التفاصيل في مخطط تفصيلي
- دعم لتعيين والحصول على لون الخط مع موضوع وصبغة ، قضية ذات صلة #1369
- دعم الحصول على قيمة الخلية التي تحتوي على تاريخ بتنسيق ISO 8601
- مجموعة الدعم والحصول على لون الخط مع لون مفهرس
- دعم نمط عمود التحديث عند إدراج الأعمدة أو حذفها
- تدعم وظيفة المصنف
Closeالآن الملفات المؤقتة لكاتب دفق التنظيف - تسمح الوظيفة
AddPictureالآن بإدراج صور بتنسيق SVG
تحسين التوافق
- يكتب كاتب الدفق نوع سلسلة مضمنة لقيمة خلية السلسلة ، قضية ذات صلة #1377
- تخطي الصفوف الفارغة عند حفظ جدول البيانات لتقليل حجم الملف ، قضية ذات صلة #1383
إصلاحات الأخطاء
- إصلاح مشكلة جولة تنسيق الأرقام العشرية باستخدام تنسيق الأرقام المضمن ، قضية ذات صلة #1328 و #1368 و #1373
- إصلاح مشكلة تطبيق تنسيق رقم AM / PM في بعض الحالات ، قضية ذات صلة #1338
- إصلاح panic عند حذف التعليقات المتجاوجة بحدود الشريحة خارج النطاق ، قضية ذات صلة #1343
- إصلاح الذعر عند الحصول على قيمة الخلية في بعض الحالات ، قضية ذات صلة #1384 و #1415
- إصلاح مشكلة تحليل تنسيق الأرقام الافتراضي باستخدام سلسلة طويلة من الأرقام ، قضية ذات صلة #1360
- إصلاح إنشاء ورقة باسم فارغ يؤدي إلى تلف ملف ، قضية ذات صلة #1361
- إصلاح الحصول على محتوى الصورة كان فارغا بعد إدراج صورة
- إصلاح تلف إنشاء المصنف بعد إدراج أعمدة/صفوف في بعض الحالات
- احذف الصيغة المشتركة في سلسلة الحساب عند كتابة خلية صيغة لإصلاحها يؤدي إلى تلف المصنف في بعض الحالات
- تطبيع اسم الورقة لإصلاح انحدار السلوك بين 2.6.0 و 2.6.1 ، قضية ذات صلة #1365
- إصلاح مشكلة نتيجة حساب الصيغة للدالة
OR - إصلاح الخطأ عند إدراج أعمدة أو صفوف في ورقة العمل التي تحتوي على خلية واحدة مدمجة في نطاق الخلايا
- إصلاح الخطأ عند الحصول على نطاق الخلايا المدمجة في ورقة العمل التي تحتوي على خلية واحدة مدمجة
- إصلاح الحصول على قيمة خلية نص منسق غير مكتملة في بعض الحالات
- تجنب أحرف XML لكاتب الدفق لتجنب وجود ملف تالف ، قضية ذات صلة #1391
- إصلاح خطأ نتيجة دالة الصيغة ADDRESS باستخدام اسم ورقة عمل فارغ ، قضية ذات صلة #1396
- إصلاح مشكلة إدراج الصورة في بعض الحالات ، قضية ذات صلة #1404
تحسين الأداء
- تحسين الأداء لخلايا دمج كاتب الدفق ، وتقليل تكلفة الوقت بأكثر من 90٪ وتقليل استخدام الذاكرة بنحو 86٪ على الأكثر
- تحسين الأداء لوظيفة
SetRowلكاتب البث ، وتقليل استخدام الذاكرة وتسريع حوالي 19٪
متنوعه
- تم تحديث وحدة التبعيات
- اختبارات الوحدة وتحديث godoc
- استخدام الاسم المتخصص في المتغيرات والوظائف
- موقع التوثيق متعدد اللغات: العربية والألمانية والإسبانية والإنجليزية والفرنسية والروسية والصينية واليابانية والكورية ، والتي تم تحديثها
شكرًا لك
شكرا لجميع المساهمين في Excelize. يوجد أدناه قائمة بالمساهمين الذين لديهم مساهمات برمجية في هذا الإصدار:
- @cdenicola (Cooper de Nicola)
- @chenliu1993
- @davidborry
- @patsak (Kostya Privezentsev)
- @dafengge0913
- @Beeb0p (Artem Tarasenko)
- @invzhi
- @zhangzitao (Zitao)
- @jtwatson (Joseph Watson)
- @carbin-gun (charles.deng)
- @harrison3000 (Harrison)
- @strivek (GaoFei)
- @gonghaibinx
- @martinmr (Martin Martinez Rivera)
- @zclark (Zach Clark)
- @March0715 (March)
- @renxiaotu
- @devloppper
- @jianxinhou
- @nesstord
- @Bayzet (Bayzet Tlyupov)
- @guoweikuang (郭伟匡)
- @qinyuguang (Gin)
- @liron-l (Liron Levin)