Original post

Releases · 360EntSecGroup-Skylar/excelize · GitHub

We are pleased to announce the release of version 2.3.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 changelog.

Release Notes

The most notable changes in this release are:

Notable Features

  • Support to set cell values concurrent, relate issue #670
  • New API: SetSheetFormatPr and GetSheetFormatPr, support to set and get worksheet formatting properties, relate issue #635
  • New API: GetCols and Cols, support columns iterator
  • AddChart support specified logarithmic scale on Y-axis, relate issue #661
  • AddPicture support insert image autofit cell
  • Add limits for total columns, row and filename length
  • Formula calculation engine support defined name, relate issue #665
  • API CalcCellValue update, formula calculation engine working in progress: 12 new functions has been added, COUNTA, ISBLANK, ISERR, ISERROR, ISEVEN, ISNA, ISNONTEXT, ISODD, ISNUMBER, MEDIAN, NA, SUMIF

Improve the Compatibility

  • Compatible to case-sensitive doc parts path
  • Storage string to SST (shared string table), relate issue #622
  • Support the row element without r attribute in the worksheet
  • Support XML multi namespace, make compatible with Kingsoft WPS™ Office, relate issue #651
  • Improve the compatibility of the auto filter with Office 2007 – 2010, resolve #637

Bug Fixes

  • Avoid duplicate filter database in workbook defined name
  • Avoid creating duplicate style, resolve #643
  • Escape characters for set rich-text
  • Fix the issue, comment shapes are changed after reopening spreadsheet created by Excelize, resolve #672
  • Fix panic when enabling compiler inline flags, resolve #677 and #679
  • Fix the accuracy issue of getting cell value of percentage cell

Miscellaneous

  • Improved error handling and fix crash when open invalid spreadsheet file
  • Add missing checking error in unit tests
  • Documentation website with multilingual: English, French, Russian, Chinese, Japanese, and Korean, which has been updated

Assets 2

We are pleased to announce the release of version 2.2.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 changelog.

Release Notes

The most notable changes in this release are:

Notable Features

  • Using the worksheet index instead of ID in the following functions: GetSheetName, GetSheetIndex, GetActiveSheetIndex and SetActiveSheet, relate issue #485
  • New function GetSheetList to get the worksheet, chart sheet and dialog sheet name list of workbook
  • New function AddChartSheet support create chart sheet, relate issue #451
  • New function UnsetConditionalFormat, support for remove conditional format, relate issue #571
  • New function DeleteDataValidation, support delete data validation, relate issue #348
  • New function SetCellRichText, support set rich text, relate issue #172
  • New functions InsertPageBreak and RemovePageBreak, support for insert and remove page break, relate issue #492
  • The AddPivotTable API changed, support for setting date field subtotal and names of the pivot table, relate issue #582
  • The AddPivotTable support to set filter for the pivot table, relate issue #598
  • The AddPivotTable allow empty filter, data, and rows in the pivot table
  • Export ExcelDateToTime function to convert excel date to time
  • Export Style structs to allow create the style for cells by given JSON or structure pointer, relate issue #470

Bug Fixes

  • Fix greaterThanOrEqual and lessThanOrEqual operators did not work when setting the conditional format for cell by SetConditionalFormat, resolve issue #608
  • Fix corrupt worksheet created by StreamWriter, resolve issue #576
  • Escape character in the formula, resolve issue #578
  • Fix the DuplicateRowTo function doesn’t duplicate merged cells, resolve issue #586
  • Fix conditional formatting hides the adjacent borders by ignore empty conditional format style, resolve issue #200
  • Fix missing comments by GetComments, resolve issue #345
  • Fix reading wrong string by GetCellValue in some case, resolve issue #602
  • Check and fill the cell without r attribute in a row element, fix returned empty value when GetCellValue in some case
  • Allow empty or default cell style formats, resolve #628

Performance

  • Reduce redundant memory copy in getRowHeight

Miscellaneous

  • Remove calculated properties to make recalculate formulas in some spreadsheet applications, such as Kingsoft WPS™ Office
  • Add missing checking error in unit tests
  • Documentation website with multilingual: English, French, Russian, Chinese, Japanese, and Korean, which has been updated

Assets 2

We are pleased to announce the release of version 2.1.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 changelog.

Release Notes

The most notable changes in this release are:

Notable Features

  • New function DeleteDefinedName, support to delete the defined names of the workbook or worksheet
  • New functions SetPageMargins and GetPageMargins, support to for getting setting page margins
  • New functions DeleteChart and DeletePicture, support to delete chart and images from the worksheet
  • Add support for Excel file that uses no UTF-8 encoding
  • The function AddChart now support to create the pie of pie chart, the bar of pie chart and combo chart
    The function AddChart now support to set minor grid lines for the chart, relate issue #501
    The function AddChart now support to set line width of the line chart, relate issue #505
    The function AddChart now support to set a major unit and tick label skip for the chart, relate issue #538
  • The function SetColVisible now support to set column visible by column range
  • The function AddPivotTable allow empty columns in the pivot table, relate issue #511

Bug Fixes

  • Fix missing ending space text of the cell
  • The MergeCell function support overlapped merge cells, resolve issue #533
  • Added handling of empty inline rich text in some case, resolve issue #529
  • Added handling of empty workbook view in some case, resolve issue #426
  • Added handling of escape character in the formula, resolve issue #546

Performance

  • New functions NewStreamWriter and Flush to generate the new worksheet with huge amounts of data. Compared to non-streaming writing, reduced memory usage by 90.2%, time cost by 53%
  • Make GetRows function read data as streaming. Reduced memory usage by 78.9%, relate issues #146 and #382
  • Compatibility improvements, adding 49 internal XML namespaces support

Miscellaneous

  • Added logging of possible errors when decoding XML, relate issues #539
  • Improve code coverage unit tests (line Coverage: 97.04%)
  • Add missing checking error in unit tests
  • Documentation website with multilingual: English, French, Russian, Chinese, Japanese, and Korean, which has been updated

Assets 2

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. A full list of changes is available in the change log.

Release Notes

The most notable changes in this release are:

Compatibility

Upgrade requirements 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
  • 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

Bug Fixes

  • Fix missing text of comments in some case, resolve issue #434
  • Fix RemoveRow() out of range in some case by recalculate offset for merged cells adjuster, resolve issue #437
  • Fix invalid formula in data validation drop list
  • Fix file corrupted when calling the Save() method in the iteration, resolve issue #443
  • Compatible with different types of relative paths in workbook.xml.rels to fix read file failed in some case, resolve issue #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
  • Fix GetSheetName doesn’t work in some case by check the sheets list based on index instead, resolve issue #457
  • Add multi-row inline strings support, relate issue #464
  • Fix overflow numeric cell value on the 32-bit operating system, relate issue #386
  • Fix go module dependency errors, relate issue #466 and #480
  • Fix file corrupted when calling SetSheetPrOptions() in some case, resolve issue #483

Performance

  • Performance optimization, faster for reading the file, relate issue #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

Assets 2

We are pleased to announce the release of version 2.0.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 SetHeaderFooter() init set header and footer support, relate issue #394
  • New function SetColStyle() support to set style by columns, relate issue #397
  • New functions SetDefaultFont() and GetDefaultFont() support to change the default font, relate issue #390
  • New functions SetDocProps() and GetDocProps(), support to set and get doc properties, relate issue #415
  • The function AddChart() now support to create new 26 types of chart: cone, pyramid and cylinder series chart for column and bar, surface 3D, wireframe Surface 3D, contour and wireframe contour,bubble and 3D bubble chart, unsupported chart type add error prompt
  • New functions SetDefinedName() and GetDefinedName() support to set and get defined names
  • More detailed error information when open the encrypted file
  • The function AddPicture() now support to add TIF and TIFF format images

Bug Fixes

  • Fix structs fields definition errors and keep double quotes in data validation formula
  • Fix comments duplicate caused by inner counting errors, resolve issue #373
  • Fix read file error caused by get sheet map errors, resolve issue #404
  • Enhance compatibility with PivotTable, resolve issue #413
  • Enhance compatibility with font size and bold style, resolve issue #411, #420 and #425
  • Enhance recalculation adjuster to resolve file broken issue, after insert or remove rows in some case, relate issue #421 and #424
  • Fix hide sheet does not work in some case, relate issue #418
  • Fix multi chart series caused file corrupted by avoid accent theme color index overflow, relate issue #422

Miscellaneous

  • Improve unit testing coverage (Line Coverage: 96.05%)
  • Optimize code, fix golint issues

Assets 2

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:

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.

Feature

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

  • 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

Excelize v1.4.1 VS v2.0.0

Miscellaneous

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

Assets 2

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:

Feature

  • New function WriteTo() has been added, it implements io.WriterTo to write the file
  • New function SearchSheet() has been added for get coordinates by given worksheet name, cell value, and regular expression. Relate issue #277
  • New functions ProtectSheet() and UnprotectSheet() 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 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 new logo for excelize, numerous documentation updates

Assets 2

We are pleased to announce the release of 1.4.0.

Release Notes

The most notable changes in this release are:

Performance

Feature

Bugfix

  • Improved commenting formatting, fix expands all comment boxes stacked all in one place
  • Fix create worksheet by NewSheet() cause file issue, related issue #249

API Changed

  • Add error return value for functions: AddChart(), AddComment(), AddPicture(), AddShape(), AddTable() and SetConditionalFormat()

Assets 2

We are pleased to announce the release of 1.3.0.

Release Notes

The most notable changes in this release are:

Performance

  • Make SetCellStyle() quicker by skipping conversions in checkCellInArea(), 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

Feature

  • New function SetSheetRow() has been added for support write whole line at once, relate issue #96 and #194;
  • New functions GetColOutlineLevel(), GetRowOutlineLevel(), SetColOutlineLevel() and SetRowOutlineLevel() has been added for suppport creat group
  • Add iterator method for Rows, new functions Columns(), Next() and Error() has been added
  • Function SetCellValue() now supports bool and time.Duration type 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 read inlineStr type 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 an 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;

Bugfix

  • Fix DeleteSheet() make broken file caused by activeTab tag calculation wrong, relate issue #165
  • Fix read columns count wrong in specific xlsx data, relate issue #175
  • Handle special shared string table file name xl/SharedStrings.xml to make lib compatibility with 1C software, relate issue #188
  • Fix checkCellInArea() index out of range when merged cell ref is single coordinate, relate issue #206
  • Fix set font family not works, relate issue #222

API Changed

  • Make row index consistent in function SetRowHeight() and GetRowHeight(), fix issue #205

Assets 2

We are pleased to announce the release of 1.2.0.

Release Notes

The most notable changes in this release are:

  • Performance optimization
  • Improvement 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 SetSheetViewOptions and GetSheetViewOptions

Assets 2

You can’t perform that action at this time.