Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLSX / XLSM / XLTM files. Supports reading and writing spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports complex components by high compatibility, and provided streaming API for generating or reading data from a worksheet with huge amounts of data.

GitHub: github.com/xuri/excelize

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

Release Notes

The most notable changes in this release are:

Notable Features

  • The function AddPivotTable now support none-column and multi-data fields, related issue #710
  • The function GetCellValue support custom date-time number format, related issue #703
  • The function CalcCellValue now support new formula function AND, CLEAN, TRIM, LOWER, PROPER, UPPER and OR, related issue #701 and #747
  • The range of data validation now supports float decimal, related issue #739
  • The function AddChart now support to set marker type and custom line width, related issue #549 and #657
  • The AddChart function support to specify if show the legend without overlapping the chart

Improve the Compatibility

  • Improve over 6 series line chart compatibility with KingSoft WPS™, resolve issue #627
  • Avoid creating duplicate inner style in some case
  • Parse document core part (workbook) dynamically
  • Support single line with repeated row element in the worksheet data, resolve issue #732

Bug Fixes

  • Prevent formula lexer panic on retrieving the top token type on some invalid formula, resolve issue #711
  • Fix missing worksheet when renaming with same names, resolve issue #713
  • Fix wrong worksheet index returned by NewSheet in some case, resolve issue #714
  • Fix panic on formatted value with no built-in number format ID, resolve issue #715 and #741
  • Rounding numeric with precision for formula calculation, resolve issue #727
  • Fix row duplicate mechanism #729
  • Fix incorrect active tab after delete worksheet in some case, resolve issue #735
  • Fix AddPicture autofit failure with multi merged cells, resolve issue #748


  • Stream writing memory usage decrease about 60%, related issue #659
  • Optimize memory allocation workSheetWriter, related issue #722
  • Improve AddPicture performance, related issue #706





Software developer and open source enthusiast. Focused on the program design, big data analytics and research.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

MicroServices + Events + AWS: Our path to improve communication between our (Ruby on Rails) apps…

6 Flutter Benefits That Made It the Top Choice for Mobile App Development in 2021

KYVE Incentive testing network launched

How to change runlevels on Linux

ACM UVa Practice the Sixth day(C++)

The Perfect Programming Language

How to Combine Data in Pandas with Merge(), .Join(), and Concat()

Methodology of IT projects

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ri Xu

Ri Xu

Software developer and open source enthusiast. Focused on the program design, big data analytics and research.

More from Medium

How to deploy any backend to Heroku (easily🔥) ?

Mounting a Windows Shared Folder to a Docker container

Go Basics

Indefinitely Long-Lived AWS Sessions Using aws-vault and docker-compose: The Guide I Wish I’d Had