Excelize 2.6.0 Released - Go language API for spreadsheets (Excel) files
Tags: go, excel, xlsx
Published: 2022-04-10 16:35:07

---
title: Excelize 2.6.0 Released - Go language API for spreadsheets (Excel) files
published: true
description: Excelize is a library written in pure Go and providing a set of functions that allow you to write to and read from XLSX files. 
tags: Go,Excel,Golang,XLSX 
---

![Excelize 2.6.0 Released - Go language API for spreadsheets (Excel) files](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/psdmn3kzkj1o7s9bdlx2.png)

Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLAM / XLSM / XLSX / XLTM / XLTX files. Supports reading and writing spreadsheet documents generated by Microsoft Excel&trade; 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](https://github.com/xuri/excelize)

We are pleased to announce the release of version 2.6.0. Featured are a handful of new areas of functionality and numerous bug fixes.

A summary of changes is available in the [Release Notes](https://github.com/xuri/excelize/releases/tag/v2.6.0). A full list of changes is available in the [changelog](https://github.com/xuri/excelize/compare/v2.5.0...v2.6.0).

Release Notes
------------
The most notable changes in this release are:

### Compatibility

* Rename exported constants `NameSpaceDublinCoreMetadataIntiative` to `NameSpaceDublinCoreMetadataInitiative` for typo fix
* Rename exported variable `ErrUnsupportEncryptMechanism` to `ErrUnsupportedEncryptMechanism`
* Rename exported variable `ErrDataValidationFormulaLenth` to `ErrDataValidationFormulaLength`
* Rename exported variable `ErrDefinedNameduplicate` to `ErrDefinedNameDuplicate`
* Remove exported variable `XMLHeaderByte`
* Remove second useless parameter `isCurrentSheet` and error returns of the function `SetSqrefDropList`
* Remove `TotalRows` of row iterator

### Notable Features

* `ProtectSheet` now support protect sheet with specify algorithm: XOR, MD4, MD5, SHA1, SHA256, SHA384, and SHA512
* `UnprotectSheet` now support specified the second optional password parameter to remove sheet protection with password verification
* New support 71 formula functions: AVERAGEIFS, BETADIST, BETA.DIST, BETAINV, BETA.INV, BINOMDIST, BINOM.DIST, BINOM.DIST.RANGE, BINOM.INV, CHIINV, CHITEST, CHISQ.DIST, CHISQ.DIST.RT, CHISQ.INV, CHISQ.INV.RT, CHISQ.TEST, CONFIDENCE.T, CORREL, COVAR, COVARIANCE.P, CRITBINOM, ERROR.TYPE, EXPON.DIST, EXPONDIST, F.DIST, F.DIST.RT, FDIST, F.INV, F.INV.RT, FINV, FORMULATEXT, F.TEST, FTEST, GAMMA.DIST, GAMMADIST, GAMMA.INV, GAMMAINV, GAMMALN.PRECISE, GAUSS, HOUR, HYPGEOM.DIST, HYPGEOMDIST, INDIRECT, LOGINV, LOGNORM.DIST, LOGNORMDIST, LOGNORM.INV, MODE, MODE.MULT, MODE.SNGL, NEGBINOM.DIST, NEGBINOMDIST, PHI, SECOND, SERIESSUM, SUMIFS, SUMPRODUCT, SUMX2MY2, SUMX2PY2, SUMXMY2, T.DIST, T.DIST.2T, T.DIST.RT, TDIST, TIMEVALUE, T.INV, T.INV.2T, TINV, T.TEST, TTEST, TYPE
* Check file extension on save the workbook
* Support workbook views mode and ruler display settings
* Improve number format support, introduced NFP (number format parser) dependencies module for custom dates and times number format and text place holder support, include local month name and AM/PM format in 19 languages (Afrikaans, Bangla, Chinese, English, French, German, Austria, Irish, Italian, Russian, Spanish, Thai, Tibetan, Turkish, Welsh, Wolof, Xhosa, Yi and Zulu) support for number format, related issues #660, #764, #1093, #1112, #1133
* New exported functions `SetWorkbookPrOptions` and `GetWorkbookPrOptions` to support setting and getting the `FilterPrivacy` and `CodeName` properties of the workbook, resolve limitations when adding VBA project to the workbook, related issue #1148
* Formula engine now support calculation with the none parameter formula function after infix operator notation
* Support to read boolean data type cell value
* Support set hole size when create the doughnut chart by `AddChart` function, resolve issue #1172
* Export 4 errors `ErrPasswordLengthInvalid`, `ErrUnsupportedHashAlgorithm`, `ErrUnsupportedNumberFormat`, `ErrWorkbookExt` so users can act differently on the different type of errors

### Improve the Compatibility

* Improve compatibility with LibreOffice, fixed the issue auto filter doesn't work on LibreOffice if the sheet name has spaces, resolve issue #1122
* Improve the compatibility with alternate content, support preserve alternate content in the workbook, worksheet, and drawingML
* Improve the compatibility with page setup DPI fields

### Bug Fixes

* Fix missing page setup of worksheet after re-saving the spreadsheet, resolve issue #1117
* Fix merged cells doesn't updated after opertaion in some cases
* Fix style parsing issue, which causes bold and other style missing, resolve issue #1119
* Fix file corrupted when save as in XLAM / XLSM / XLTM / XLTX extension in some case
* Correct cells style in merge range, make cell support inheritance columns/rows style, resolve issue #1129
* Fix incorrect style ID returned on getting cell style in some cases
* Fix incorrect build-in number format: 42
* Fixed parsing decimal precision issue in some case
* `SetCellDefault` support non-numeric value, resolve issue #1139
* Fixed show sheet tabs setting was missing on save as spreadsheet in some cases, resolve issue #1160
* Fix nested formula calculation result error, resolve issue #1164
* Fix a part of formula function calculation result precision issue and inconsistent result precision of formula calculation under x86 and arm64 processor (CPU) architecture
* This fix scientific notation parsing issue in some case
* Fix the issue that the chart axis maximum and minimum didn't work when the value is 0

### Performance

* Improve streaming reading performance, based on the previously released version, reduce memory usage by about 50% at most for reading large data spreadsheet, and reduce 80% GC times for the row's iterator

### Miscellaneous

* The dependencies module has been updated
* Unit tests and godoc updated
* [Documentation website](https://xuri.me/excelize) with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated