Excelize 2.0.2 is Released – Go lib for reading and writing Excel (XLSX) files

<img src="https://xuri.me/excelize/images/excelize.svg" width="400">

Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLSX files. Supports reading and writing XLSX files generated by Microsoft Excel&trade; 2007 and later. Supports saving a file without losing original charts of XLSX.

**GitHub:**  [github.com/xuri/excelize](https://github.com/xuri/excelize)

We are pleased to announce the release of version 2.0.2. 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.0.2). A full list of changes is available in the [changelog](https://github.com/xuri/excelize/compare/v2.0.0...v2.0.2).

# Release Notes

The most notable changes in this release are:

## Compatibility

Upgrade requirements Go language version is 1.10 or later.

## Notable Features

* Create pivot table support. New function `AddPivotTable()` has been added
* Create sparkline support. New function `AddSparkline()` has been added
* New function `GroupSheets()` and `UngroupSheets()` support group and ungroup sheets
* New function `AddVBAProject()` to support add vbaProject.bin file which contains functions and/or macros
* The function `SetPageLayout()` now support to support to set fit to width and height, relate issue [#432](https://github.com/xuri/excelize/issues/432)
* The function `SetSheetViewOptions()` support to set whether to "show a zero in cells that have zero value" now
* Allow access to more formula attributes in `SetCellFormula()`, support set the type of the formula and the ref attribute
* Font strike style support, relate issue [#482](https://github.com/xuri/excelize/issues/482)

## Bug Fixes

* Fix missing text of comments in some case, resolve issue [#434](https://github.com/xuri/excelize/issues/434)
* Fix `RemoveRow()` out of range in some case by recalculating offset for merged cells adjuster, resolve issue [#437](https://github.com/xuri/excelize/issues/437)
* Fix invalid formula in data validation drop list
* Fix file corrupted when calling the `Save()` method in the iteration, resolve issue [#443](https://github.com/xuri/excelize/issues/443)
* Compatible with different types of relative paths in  `workbook.xml.rels`  to fix read file failed in some case, resolve issue [#442](https://github.com/xuri/excelize/issues/442)
* Fixed file corruption when deleting all merged cells in some case
* Fix issue where the protection worksheet settings are invalid in some case, resolve issue [#454](https://github.com/xuri/excelize/issues/454)
* Fix  `GetSheetName`  doesn't work in some case by check the sheets list based on index instead, resolve issue [#457](https://github.com/xuri/excelize/issues/457)
* Add multi-row inline strings support, relate issue [#464](https://github.com/xuri/excelize/pull/464)
* Fix overflow numeric cell value on a 32-bit operating system, relate issue [#386](https://github.com/xuri/excelize/issues/386)
* Fix go module dependency errors, relate issue [#466](https://github.com/xuri/excelize/issues/466) and [#480](https://github.com/xuri/excelize/issues/480)
* Fix file corrupted when calling `SetSheetPrOptions()` in some case, resolve issue [#483](https://github.com/xuri/excelize/issues/483)

## Performance

* Performance optimization, faster for reading the file, relate issue [#439](https://github.com/xuri/excelize/issues/439)

## Miscellaneous

* Add missing error check-in  `SetSheetRow()`
* Optimize code, combine internal functions:
`workBookRelsWriter`, `drawingRelsWriter` into `relsWriter` ;
`drawingRelsReader`, `workbookRelsReader`, `workSheetRelsReader` into `relsReader` ;
`addDrawingRelationships`, `addSheetRelationships` into `addRels`