Excelize 2.8.0 Released
Published on August 27, 2023 by xuri
We are pleased to announce the release of version 2.8.0. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the changelog.
Release Notes
The most notable changes in this release are:
Breaking Change
- Rename exported variable ErrTableNameLength to ErrNameLength
- Rename exported type PaneOptions to Selection
- Rename the Runs field to Paragraph in the exported Comment data type
- Remove the Lang field in the Style data type
- Removed exported ChartTitle data type, and using the RichTextRun data type instead of it
- Changed the data type for the DecimalPlaces to pointer of integer
- Change the default point to pixels conversion factor, resolve issues #279 and #1536
- Change the AddShape function signature: func (f *File) AddShape(sheet, cell string, opts *Shape) error to func (f *File) AddShape(sheet string, opts *Shape) error
Notable Features
- Add new exported error variables ErrExistsTableName and ErrorFormControlValue
- Add new options ShortDatePattern, LongDatePattern, LongTimePattern and CultureInfo in the Options data type, related issue #1199
- Add new exported data type CultureName enumeration for country code
- New functions GetTables and DeleteTablesupport to get and remove tables, related issues #674 and #1454
- New function GetStyle support to get style definitions, related issues #314, #1520 and #1521
- Support applying cell value with placeholder, padding, rounds numbers, currency, accounting and switches argument number format, and support applying date and time number format for 812 language tags, related issue #660
- New support 10 formula functions: ARRAYTOTEXT, FORECAST, FORECAST.LINEAR, FREQUENCY, INTERCEPT, ODDFYIELD, ODDLPRICE, ODDLYIELD, PROB, VALUETOTEXT
- Add file path length limitation details in the error message
- New function GetPanes support to get sheet panes and view selection
- New functions AddFormControl, GetFormControls and DeleteFormControl support to form controls, related issues #301 and #1169
- The AddChart function support set primary titles, related issue #1553
- The AddChart function support creating chart with a secondary series axis, related issue #518
- The AddChart function support formatting and setting rich text titles for the chart, related issue #1588
- Add check for shape type for the AddShape function, an error will be returned if no shape type is specified
- Support read cell values formatted by the Japanese calendar number format, related issue #1590
- The GetPictures function support read one cell anchor pictures, related issue #1585
- The NewConditionalStyle function support to create a conditional format with number format and protection, related issue #1610
Improve the Compatibility
- Support checking cell value length with multi-bytes characters, related issue #1517
- Prevent create duplicate tables and defined name with the same name
- Improve the cell comment box shape size compatibility with KingSoft WPS
- Support fallback to default column width in sheet format property, related issue #1536
- Made case in-sensitive for internal worksheet XML path to improve compatibility, related issue #1591
Bug Fixes
- Escape XML characters after checking cell value length, fix stream writer generated file corrupted, resolve issues #1518, #1519 and #1530
- Fix incorrect comment box size for multi-line plain text comments
- Preventing format text cell value as a numeric, resolve issues #1523, #1528 and #1533
- Fix race conditions for concurrency safety functions
- Fix incorrect round millisecond for the date time
- Fix incorrect number formatted result for date and time with 12 hours at AM
- Fix incorrect formula functions SUMIFS and AVERAGEIFS result, resolve issue #1564
- Fix basic arithmetic operator priority issues in the calculating engine, resolve issue #1599
- Fix across worksheet reference issue for the formula calculation engine
- Fix adjust table issue when after removing rows, resolve issue #1539
- Support to get multiple images in one cell, resolve issue #1548
- Fix the added picture position was incorrect in some cases, resolve issue #1560
- Support adjusting the formula when inserting columns and rows, fix the workbook corruption caused by inserting columns or rows caused, resolve issue #1565
- Formula function CONCAT, CONCATENATE support concatenation of multiple cell values, resolve issue #1569
- Fix incorrect formula calculate results on a nested argument function which returns a numeric result, resolve issue #1582
- Fix internal graphic object counter issues caused added picture was duplicated, resolve issue #1584
- Fix read date time cell result was incorrectly caused by hours rounding issue, resolve issue #1587
- Fix panic on getting merged cells with the same start and end axis
Performance
- Optimizing regexp calls to improve performance, related issue #1532
- This avoid unnecessary byte/string conversion, related issue #1541
Miscellaneous
- The dependencies module has been updated
- Simplify variable declaration and error return statements
- Remove the built-in language number format code mapping with Unicode values
- Remove the internal xlsxTabColor data type, using the xlsxColor data type instead of xlsxTabColor
- Unit tests and godoc updated
- Documentation website with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated
Thank you
Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:
- IAkumaI (Valery Ozarnichuk)
- sillydong (Chen Zhidong)
- fudali113 (fudali)
- Juneezee (Eng Zer Jun)
- joehan109
- yicixin (壹次心)
- vb6iscool
- chengcxy (chengxinyao)
- lidp20
- JDavidVR (David)
- fsfsx
- cnmlgbgithub