Excelize 2.4.1 is Released

xuri

xuri

Posted on August 1, 2021

Excelize 2.4.1 is Released

Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLSX / XLSM / XLTM files. Supports reading and writing spreadsheet documents generated by Microsoft Excelโ„ข 2007 and later. Supports complex components by high compatibility, and provided streaming API for generating or reading data from a worksheet with huge amounts of data.

GitHub: github.com/xuri/excelize

We are pleased to announce the release of version 2.4.1. 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:

Compatibility

Change Go Modules import path to github.com/xuri/excelize/v2

Notable Features

  • Support set column width in streaming mode, related issue #625
  • Support merge cell in streaming mode, related issue #826
  • New support 2 formula functions: BESSELK, BESSELY
  • The formula calculation engine now supports defined name references
  • Add disable option for chart xAxis and yAxis
  • The function AddPivotTable support reference source data range by defined name, relate issue #856
  • The following function now is concurrency safety, relate issue #861
    • AddPicture and GetPicture concurrency insert or get the picture from the worksheet
    • Rows and Cols concurrency iterate rows and columns
    • SetSheetRow concurrency set cells for a row in the worksheet
    • SetCellStyle concurrency set cell style
    • NewStyle concurrency create the style
  • Export 24 function's error message

Improve the Compatibility

  • Improves compatibility for default XML namespace attributes, fix generated corrupted file in some case
  • Improves compatibility with non-standard page setup attributes, fix open spreadsheet failed in some case
  • Add count attribute in shared strings table
  • Remove UTC timezone requirement when setting cell value with time, related issue #409
  • Improves compatibility with XML control character in the escape literal string
  • Rename exported field File.XLSX to File.Pkg
  • Change the sheet names are not case sensitive for NewSheet, GetSheetIndex, DeleteSheet, resolve issue #873
  • Fix missing pivot attribute of conditional formatting, resolve issue #883
  • Improvement compatibility with invalid first-page number attribute in the page layout
  • Add maximum character limit and fix missing preserve character for SetCellRichText

Bug Fixes

  • Fix 12/24 hours time format parsing error, resolve issue #823 and #841
  • Fix can't get comments by GetComments in some case, resolve issue #825
  • Fix issue when get and add comments on multi authors, resolve issue #829 and #830
  • Fix invalid file path and duplicate namespace when re-creating worksheet, resolve issue #834
  • Fix set outline attributes not work when the value of showOutlineSymbols, summaryBelow and summaryRight attributes are false
  • Avoid empty rows in the tail of the worksheet by GetRows, resolve issue #842
  • Fix missing formula cell when getting rows value, resolve issue #855
  • Fix comparison fails inside and outside IF function, resolve issue #858
  • Fix GetRowHeight actually get the height of the next row
  • Fix incorrect scope when getting and delete the defined name, resolve issue #879
  • Attribute LocalSheetID in the defined name should be equal to SheetIndex instead of SheetID
  • Fix missing set each cell's styles when set columns style, resolve issue #467
  • Prevent panic when an incorrect range is provided as PivotTableRange on creating a pivot table
  • Fix reading decimals precision issue, resolve issue #848 and #852
  • Escape XML character in the drop list, avoid corrupted file generated, resolve issue #971
  • Fix incorrect character count limit in the drop list, resolve issue #972
  • Fix high CPU usage on reading cell value with number format caused by Excel time parse issue in some case, resolve issue #974
  • Fix month parsing error in custom number format in some cases

Performance

  • Reduce redundant memory on Save and SaveAs about 19%

Miscellaneous

  • Fix code security issue CWE-190 and CWE-681
  • The dependencies module has been updated
  • Unit tests and godoc updated
  • Use GitHub Action for unit testing
  • Documentation website with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated
๐Ÿ’– ๐Ÿ’ช ๐Ÿ™… ๐Ÿšฉ
xuri
xuri

Posted on August 1, 2021

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

ยฉ TheLazy.dev

About