Excelize 2.6.1 Released — Go language API for spreadsheets (Excel) files

Ri Xu
4 min readAug 21, 2022

--

Excelize v2.6.1 Released

Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLAM / XLSM / XLSX / XLTM / XLTX 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.6.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:

Compatibility

  • Rename exported type TabColor to TabColorRGB
  • Rename exported constant TotalColumns to MaxColumns
  • Rename exported variable ErrMaxFileNameLength to ErrMaxFilePathLength
  • Rename exported variable ErrWorkbookExt to ErrWorkbookFileFormat
  • Remove exported variable ErrEncrypt
  • Change worksheet name case-insensitive

Notable Features

  • New support 34 formula functions: CONVERT, COVARIANCE.S, DAVERAGE, DAYS360, DCOUNT, DCOUNTA, DGET, DMAX, DMIN, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DVAR, DVARP, EDATE, EOMONTH, EUROCONVERT, GROWTH, HYPERLINK, MINVERSE, MMULT, NETWORKDAYS, NETWORKDAYS.INTL, PEARSON, RSQ, SKEW.P, SLOPE, STDEVPA, STEYX, TREND, WEEKNUM, WORKDAY, WORKDAY.INTL
  • New function DeleteComment support to delete comment, related issue #849
  • The AddShape function now support assigning a macro to the shape
  • Add support for the 1900 and 1904 date system, related issue #1212
  • Add support update cell hyperlink, related issue #1217
  • The AddPicture function now allowing insert EMF, WMF, EMZ and WMZ format images, related issue #1225
  • Make workbook open failed exception message clear, new exported variable ErrWorkbookPassword for the error message on receiving the incorrect workbook password
  • New exported constants MinFontSize, MinColumns and MaxCellStyles
  • Add array formula support for the formula calculation engine
  • Support for workbook encryption by password, related issue #199
  • RichTextRun support set superscript and subscript by vertAlign attribute
  • The DeleteDataValidation function support deleting all data validations in the worksheet, related issue #1254
  • Formula calculation engine support percentile symbol in condition criteria expression
  • Formula calculation engine support dependence formulas calculation, related issue #1262
  • Add export option MaxCalcIterations for specifies the maximum iterations for iterative calculation
  • Add export type ColorMappingType for color transformation types enumeration
  • Support adjust table range when removing and inserting column/row
  • Support set and get color index, theme and tint for sheet tab, related issue #1283
  • Add new export function GetRowOpts for rows iterator, to support get rows properties, related issue #1296

Improve the Compatibility

  • Improve the compatibility with invalid internal styles count, resolve issue #1211
  • Improve the compatibility with Google Sheet, resolve issue #1244
  • Stream writer now skips writing nil values when set cells value for the row, related issue #1299

Bug Fixes

  • Fix generated file corrupted when the same field is used for pivot table data and rows/columns, resolve issue #1203
  • Fix get incorrect rich text value caused by missing cell type checking, resolve issue #1213
  • Fix incorrect cell data types casting results when number formatting, resolve issue #1219
  • Fix the read cell is empty when the cell is in 0 placeholder number format style, resolve issue #1312 and #1313
  • Fix set cell value with column and row style inherit issue, resolve issue #1163
  • Fix panic when adding pane on empty sheet views worksheet
  • Fix the problem of multi arguments formula calculation in some case
  • Fix generated file corrupted caused by incorrect worksheet header footer fields order, resolve issue #1257
  • Fix set cell value failed in some case, resolve issue #1264
  • Fix the panic when set or get sheet view options on the sheet without views options
  • Fix generated workbook corruption caused by empty created or modified dcterms in the document core properties
  • Fix doc properties missing after creating new worksheet, resolve issue #1298

Performance

  • Improve performance for set sheet row and the merging cells, fix performance impact when resolving issue #1129
  • Optimization formula calculation performance
  • Reduces memory usage and speedup the AddComment function, resolve issue #1310

Miscellaneous

  • The dependencies module has been updated
  • Unit tests and godoc updated, made the test case compatible with go1.19
  • Documentation website with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated

Thank you

Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:

  • @JDavidVR (David)
  • @sceneq
  • @Juneezee (Eng Zer Jun)
  • @MichealJl (jialei)
  • @ww1516123
  • @z-hua (z.hua)
  • @xdlrt (yeshu)
  • @eaglexiang (Eagle Xiang)
  • @MJacred
  • @ReganYue (Regan Yue)
  • @thomascharbonnel (Thomas Charbonnel)
  • @ee0703 (EE)
  • @NaturalGao (NaturalGao)
  • @Sangua633

--

--

Ri Xu
Ri Xu

Written by Ri Xu

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

No responses yet