xuri
Posted on August 1, 2021
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
andGetPicture
concurrency insert or get the picture from the worksheet -
Rows
andCols
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
toFile.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
andsummaryRight
attributes arefalse
- 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 toSheetIndex
instead ofSheetID
- 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
andSaveAs
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
Posted on August 1, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.