Excelize v2.0.0
- Released this on: May 2, 2019
- GitHub Release: https://github.com/xuri/excelize/releases/tag/v2.0.0
Release Notes
The most notable changes in this release are:
Breaking Change
The following table lists the changes to the functions for v2.0.0 compared to the v1.4.1:
| Function | Add error return |
Row Number Change* | Delete | New Addition |
|---|---|---|---|---|
| ToAlphaString | × | × | √ | × |
| TitleToNumber | × | × | √ | × |
| SplitCellName | × | × | × | √ |
| JoinCellName | × | × | × | √ |
| ColumnNameToNumber | × | × | × | √ |
| ColumnNumberToName | × | × | × | √ |
| CellNameToCoordinates | × | × | × | √ |
| CoordinatesToCellName | × | × | × | √ |
| SetCellFloat | × | × | × | √ |
| SetCellStyle | √ | × | × | × |
| InsertCol | √ | × | × | × |
| RemoveCol | √ | × | × | × |
| RemoveRow | √ | √ | × | × |
| InsertRow | √ | √ | × | × |
| DuplicateRow | √ | × | × | × |
| DuplicateRowTo | √ | × | × | × |
| SetRowHeight | √ | × | × | × |
| GetRowHeight | √ | × | × | × |
| GetCellValue | √ | × | × | × |
| GetCellFormula | √ | × | × | × |
| GetCellHyperLink | √ | × | × | × |
| SetCellHyperLink | √ | × | × | × |
| SetCellInt | √ | × | × | × |
| SetCellBool | √ | × | × | × |
| SetCellStr | √ | × | × | × |
| SetCellDefault | √ | × | × | × |
| GetCellStyle | √ | × | × | × |
| SetCellValue | √ | × | × | × |
| MergeCell | √ | × | × | × |
| SetSheetRow | √ | × | × | × |
| SetRowVisible | √ | √ | × | × |
| GetRowVisible | √ | √ | × | × |
| SetRowOutlineLevel | √ | √ | × | × |
| GetRowOutlineLevel | √ | √ | × | × |
| GetRows | √ | × | × | × |
| Columns | √ | × | × | × |
| SearchSheet | √ | × | × | × |
| GetPicture | √ | × | × | × |
| GetColVisible | √ | × | × | × |
| SetColVisible | √ | × | × | × |
| GetColOutlineLevel | √ | × | × | × |
| SetColOutlineLevel | √ | × | × | × |
| SetColWidth | √ | × | × | × |
| GetColWidth | √ | × | × | × |
| GetMergeCells | √ | × | × | × |
| ProtectSheet | √ | × | × | × |
| UnprotectSheet | √ | × | × | × |
| UpdateLinkedValue | √ | × | × | × |
| SetSheetVisible | √ | × | × | × |
| adjustHelper | √ | × | × | × |
| adjustMergeCells | √ | × | × | × |
| adjustAutoFilter | √ | × | × | × |
| prepareCell | √ | × | × | × |
| setDefaultTimeStyle | √ | × | × | × |
| timeToExcelTime | √ | × | × | × |
| addDrawingChart | √ | × | × | × |
| addDrawingVML | √ | × | × | × |
| addDrawingPicture | √ | × | × | × |
| getTotalRowsCols | √ | × | × | × |
| checkRow | √ | × | × | × |
| addDrawingShape | √ | × | × | × |
| addTable | √ | × | × | × |
| workSheetReader | √ | × | × | × |
| copySheet | √ | × | × | × |
* From version 2.0.0 all row manipulation methods use Excel row numbering starting with 1 instead of zero-based numbering which takes place in some methods in earlier versions, related issue #349.
Notable Features
- New function
DuplicateRowTohas been added for duplicate row to specified row position - The function
SetPageLayoutnow support to set page orientation, related issue #318 - The function
SetPageLayoutnow support to set page size
Bug Fixes
- Fix the issue that creates a blank fill if no fill is specified in the style format
- Fix the issue that data validation list in the excel sheet disappears formula characters greater than
255, related issue #339 - Fix the issue corrupted spreadsheet file after deleting formula of the cell, related issue #346
- Fix the issue that
GetCommentreturns incorrect mapping between worksheets and comments in some case, related issue #345 - Fix the issue #346, resolve the issue corrupted spreadsheet file after deleting formula of cell
- Fix the issue #377, avoid empty column in
GetRowsresult
Performance
- Performance optimization, faster for adding comments, related issue #347, faster add images, charts, and shapes, related issue #274
- Adding the same image should create a drawing referencing the already stored copy of the image, related issue #359

Miscellaneous
- Typo fixed and godoc updated
- Tests made stronger again, go1.12 added to tests matrix
Thank you
Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:
- @zhangleijlu
- @mmitton
- @albenik (Veniamin Albaev)
- @kkxkkxkkgh (RetainLiao)
- @rentiansheng (Reage)
- @dolmen (Olivier Mengué)
- @BluesJhao
- @Kimxu (Kimxu)
- @caozhiyi (no_one)
- @mlh758 (Michael Harris)
- @yoshhiide (Yoshihide NABEYAMA)
- @aplulu (Aplulu)