Excelize 2.0.0 has been released

(Ri Xu) #1

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 file generated by Microsoft Excelโ„ข 2007 and later. Supports saving a file without losing original charts of XLSX. This library needs Go version 1.8 or later.

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

GitHub: github.com/360EntSecGroup-Skylar/excelize

A summary of changes is available in the Release Notes.

Release Notes

The most notable changes in this release are:

API Changed

The following table lists the changes to the API 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 uses Excel row numbering starting with 1 instead of zero-based numbering which take place in some methods in earlier versions, related issue #349.


  • New function DuplicateRowTo() has been added for duplicate row to specified row position
  • The function SetPageLayout() now support to set page orientation, related issue #318
  • The function SetPageLayout() now support to set page size

Bug Fixes

  • Fix the issue that create 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 xlsx after deleting formula of cell, related issue #346
  • Fix the issue that GetComment() returns incorrect mapping between worksheets and comments in some case, related issue #345
  • Fix the issue #346, resolve the issue corrupted xlsx after deleting formula of cell
  • Fix the issue #377, avoid empty column in GetRows result


  • Performance optimization, faster for add 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


  • Typo fixed and godoc updated
  • Tests made stronger again, go1.12 added to tests matrix