Releases: qax-os/excelize
v2.0.0
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.
A summary of changes is available in the Release Notes. A full list of changes is available in the change log.
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
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 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
GetComment()returns 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 GetRows result
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
v1.4.1
We are pleased to announce the release of version 1.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 change log.
Release Notes
The most notable changes in this release are:
Notable Features
- New function
WriteTo()has been added, it implements io.WriterTo to write the file - New function
SearchSheet()has been added to get coordinates by given worksheet name, cell value, and regular expression. Relate issue #277 - New functions
ProtectSheet()andUnprotectSheet()has been added to prevent other users from accidentally or deliberately changing, moving, or deleting data in a worksheet, relate issue #273 - New functions
GetMergeCells()has been added, support to get all merged cells from a worksheet currently - Add support to flip outline summaries, relate issue #304
- Support
go module - Support set and get TopLeftCell properties of sheet view options, relate issue #310
- The function
AddChart()now support to create 2D / 3D area, stacked area, 100% stacked area charts, relate issue #311
Bug Fixes
- Fix the issue caused by missing tradition to strict conversion for
sharedStringsReader(), resolve issue #276 - Fix unknown option in chart format JSON struct tag
- Fix nil pointer dereference when getting cell formula in some case, resolve issue #290
- Make the function
GetRows()return value avoid empty rows in the tail of the worksheet, resolve issue #195 - Fix
GetSheetMap()failed in some case, resolve issue #297 - Fix delete worksheet index error in some case, resolve issue #308
Miscellaneous
- Tests refactoring, resolve issue #322
- Add a new logo for excelize, numerous documentation updates
v1.4.0
We are pleased to announce the release of 1.4.0.
Release Notes
The most notable changes in this release are:
Breaking Change
- Add error return value for functions:
AddChart(),AddComment(),AddPicture(),AddShape(),AddTable()andSetConditionalFormat()
Notable Features
- New function
GetComments()has been added for support retrieves all comments and returns a map of worksheet name to the worksheet comments - New functions
RGBToHSL()andHSLToRGB()has been added for support convert RGBA, HSL color - New function
NewDataValidation()and series functionsDataValidation.SetDropList(),DataValidation.SetError(),DataValidation.SetInput(),DataValidation.SetRange(),DataValidation.SetSqref()andDataValidation.SetSqrefDropList()has been added for suppport data validation - New function
AddPictureFromBytes()has been added, relate issue #259 - Function
GetCellFormula()now supports shared formula types, relate issue #227 - Support to parse dates further in future
- Use min/mid/max value for 2 and 3 color scale conditional formatting
Bug Fixes
- Improved commenting formatting, fix expands all comment boxes stacked all in one place
- Fix create worksheet by
NewSheet()cause file issue, related issue #249
Performance
- Performance optimization 20% faster, 14% memory savings on set cell values. See Performance Figures
- Use github.com/mohae/deepcopy to deep copy worksheets instead of the internal
deepcopyfunction that was using encoding/gob serialization and deserialization
v1.3.0
We are pleased to announce the release of 1.3.0.
Release Notes
The most notable changes in this release are:
Breaking Change
- Make row index consistent in function
SetRowHeight()andGetRowHeight(), fix issue #205
Notable Features
- New function
SetSheetRow()has been added for support write the whole line at once, relate issue #96 and #194 - New functions
GetColOutlineLevel(),GetRowOutlineLevel(),SetColOutlineLevel()andSetRowOutlineLevel()has been added for suppport creat group - Add iterator method for
Rows, new functionsColumns(),Next()andError()has been added - Function
SetCellValue()now supportsboolandtime.Durationtype value - Function
AddTable()now supports set name of table, relate issue #216 - Function
AddPicture()now supports set the positioning of a picture, relate issue #214 - Function
GetCellValue()now supports readinlineStrtype cell value, relate issue #208 and pull request #209 - Function
AddChart()now supports set custom chart size - Add 3D, 3D 100%, clustered, stacked and 100% stacked bar and column series charts supported, relate issue #160 and #190
- Add a hyperlink to image support for the function
AddPicture(), relate issue #185 - Add protection properties associated with the cell support, relate issue #191
- Add categories or values on reverse order (orientation of the chart) support, and set auto or fixed maximum, minimum of the axis, relate issue #202
Bug Fixes
- Fix
DeleteSheet()make broken file caused byactiveTabtag calculation wrong, relate issue #165 - Fix read columns count wrong in specific worksheet data, relate issue #175
- Handle special shared string table file name
xl/SharedStrings.xmlto make library compatibility with 1C software, relate issue #188 - Fix
checkCellInArea()index out of range when the merged cell reference is single coordinate, relate issue #206 - Fix set font-family doesn't work, relate issue #222
Performance
- Make
SetCellStyle()quicker by skipping conversions incheckCellInArea(), and skipping area checks when we are sure the cell can't be before or past the current row/col - Save bytes on memory instead of string, 11% memory savings, see Performance Figures
v1.2.0
We are pleased to announce the release of 1.2.0.
Release Notes
The most notable changes in this release are:
- Performance optimization
- Improvement Golang 1.9 compatibility
- Stacked bar chart supported
- 24-hour time format supported
- API changed, use worksheet name instead of "sheet" + index
- Rename import path to
github.com/360EntSecGroup-Skylar/excelize - Add new functions
SetSheetViewOptionsandGetSheetViewOptions
