All Versions
12
Latest Version
Avg Release Cycle
81 days
Latest Release
991 days ago

Changelog History
Page 1

  • v2.3.1 Changes

    September 22, 2020

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

    πŸš€ Release Notes

    πŸš€ The most notable changes in this release are:

    Notable Features

    • πŸ‘Œ Support open spreadsheet with password protection by ECMA-376 document standard encryption, relate issue #199
    • βž• Add checking and limits for the worksheet
    • πŸ’… Extend pivot table functionality: support set the header, style, and table options for the pivot table
    • πŸ”’ Security vulnerabilities and patches

    πŸ‘Œ Improve the Compatibility

    • 🏁 Compatible with Go 1.15, fix unit test failed on Windows and potential race condition, relate issue #689
    • 0️⃣ Default row height compatibility with Apache OpenOffice and Kingsoft WPSβ„’
    • πŸ‘Œ Improve compatibility for phonetic hint and sheet tab color

    πŸ› Bug Fixes

    • πŸ›  Fix RemoveRow slice bounds out of range cause panic in some case, resolve #686
    • πŸ›  Fix stream writer generated corrupted files issue
    • πŸ›  Fix the scale for add picture not work, resolve #691

    Miscellaneous

    • ⚑️ Unit tests update and typo fixed
    • πŸ“š Documentation website with multilingual: English, French, Russian, Chinese, Japanese, and Korean, which has been updated
    • Welcome join the Slack channel to meet other members of our community
  • v2.3.0 Changes

    August 09, 2020

    πŸš€ 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
  • v2.2.0 Changes

    May 10, 2020

    πŸš€ 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
  • v2.1.0 Changes

    February 09, 2020

    πŸš€ 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
  • v2.0.2 Changes

    October 09, 2019

    πŸš€ 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 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
    • πŸ‘ 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
  • v2.0.1 Changes

    June 30, 2019

    πŸš€ 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
  • v2.0.0 Changes

    May 02, 2019

    πŸš€ 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 √ Γ— Γ— Γ—
    0️⃣ 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

    • πŸ†• 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

    • 🐎 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
  • v1.4.1 Changes

    January 03, 2019

    πŸš€ 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
  • v1.4.0 Changes

    September 27, 2018

    πŸš€ 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()
  • v1.3.0 Changes

    May 13, 2018

    πŸš€ 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