Excelize is a basic Office Excel document library written in Go language. It is based on ECMA-376, ISO/IEC 29500 international standard. You can use it to read and write spreadsheet documents created with Microsoft Excel™ 2007 and above. Supports multiple document formats such as XLSX/XLSM/XLTM, is highly compatible with documents with styles, images (tables), Pivottables, slicers and other complex components, and provides streaming read and write APIS for working with workbooks containing large amounts of data. It can be applied to various report platforms, cloud computing, edge computing and other systems. He was selected as 2020 Gopher China-Go star Open Source Project (GSP), 2018 Gitee most valuable open source project GVP, and has become the most popular Excel document base library of Go language.

Open source code

Making: github.com/xuri/exceli…

Gitee: gitee.com/xurime/exce…

英 文 版 : Xuri. me/excelize/zh…

On April 19, 2021, the community officially released version 2.4.0, which includes several new features, bug fixes, and compatibility improvements. Here’s a summary of the updates, and a complete list of changes can be found at Changelog.

Release Notes

The most significant changes in this release include:

Compatibility Tips

Upgrading to this version requires you to use the Go language version 1.15 or higher.

New features

  • New GetCellRichText API to support fetching rich text based on a given worksheet name
  • SetPageLayout and GetPageLayout now support setting and getting page print zoom, specifying monochrome print, and starting page number
  • SetSheetPrOptions and GetSheetPrOptions now support setting and obtaining worksheet label colors
  • SetCellHyperLink supports setting screen prompt text and display text, related issue #790
  • Added support for creating pivottablesShowErroroptions
  • The streaming API supports setting cell formulas, related issue #625
  • Formula calculation engine support is not equal to operators
  • Nested formula functions now support cell references as arguments
  • Support to specify whether to set the chart data series format to auto fill color
  • New 152 formula function support: ATAN, AVERAGE, AVERAGEA, BESSELI, BESSELJ, BIN2DEC, BIN2HEX, BIN2OCT, BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, CHAR, CHOOSE, CLEAN, CODE, COLUMN, COLUMNS, COMPLEX, CONCAT, CONCATENATE, COUNT, COUNTBLANK, CUMIPMT, CUMPRINC, DATE, DATEDIF, DB, DDB, DEC2BIN, DEC2HEX, DEC2OCT, DOLLARDE, DOLLARFR, EFFECT, ENCODEURL, EXACT, FALSE, FIND, FINDB, FISHER, FISHERINV, FIXED, FV, FVSCHEDULE, GAMMA, GAMMALN, HARMEAN, HEX2BIN, HEX2DEC, HEX2OCT, HLOOKUP, IF, IFERROR, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMDIV, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER, IMPRODUCT, IMREAL, IMSEC, IMSECH, IMSIN, IMSINH, IMSQRT, IMSUB, IMSUM, IMTAN, IPMT, IRR, ISTEXT, ISPMT, KURT, LARGE, LEFT, LEFTB, LEN, LENB, LOOKUP, LOWER, MAX, MID, MIDB, MIN, MINA, MIRR, N, NOMINAL, NORM.DIST, NORMDIST, NORM.INV, NORMINV, NORM.S.DIST, NORMSDIST, NORM.S.INV, NORMSINV, NOT, NOW, NPER, NPV, OCT2BIN, OCT2DEC, OCT2HEX, PDURATION, PERCENTILE.INC, PERCENTILE, PERMUT, PERMUTATIONA, PMT, POISSON.DIST, POISSON, PPMT, PROPER, QUARTILE, QUARTILE.INC, REPLACE, REPLACEB, REPT, RIGHT, RIGHTB, ROMAN, ROW, ROWS, SHEET, SKEW, SMALL, STDEV, STDEV.S, STDEVA, SUBSTITUTE, T, TODAY, TRIM, TRUE, UNICHAR, UNICODE, UPPER, VAR.P, VARP, VLOOKUP

Improved compatibility

  • When thenilCall as valueSetCellValueWhen setting the value of a cell, no longer set a blank string for the cell and replace it with a null value# 756
  • Removes redundant XML optional null-value parsing flags for internal processing cell fill color styles
  • Improved compatibility with Google Sheets offline browser extension applications, issue #769
  • Use absolute references in filter names to improve compatibility with Apache OpenOffice applications, resolve Issue #776
  • Added processing of XML tag closing event in stream parsing worksheet to improve row/column iterator reading performance and fix incorrect row count in some cases
  • Improve compatibility with relative paths used for worksheet documents within workbooks
  • Avoid creating duplicate rich text styles and resolve Issue #787
  • Improved compatibility with Windows directory separators using absolute paths for worksheet documents in workbooks

The problem to repair

  • Fixed value rounding accuracy issue #764
  • Add and adjust the parse order of worksheet fields, fix problem #766 with partially generated document corruption
  • repairCOTHError in calculation of hyperbolic cotangent trigonometric functions
  • Formula calculation chain adds associative handling of worksheets, fixes document corruption caused by partially duplicated rows, fixes issue #774
  • Added handling of names when deleting worksheets, resolving issue #775
  • Fixing internal functionsnewFillsparseTokenToo much cyclomatic complexity
  • Fixed default custom row height check for worksheets
  • Fix document corruption when canceling all merged cells in worksheet, fix Issue #782
  • Fixed partial loss of filter criteria in some cases
  • Fix UpdateLinkedValue error when workbook contains chart worksheet, dialog worksheet
  • Fixed partial case where GetColWidth returned the default column width incorrectly
  • Fixed issue #804 where you could not add a timeline and slicer to a PivotTable created using the Excel spreadsheet application
  • Internal when setting the namelocalSheetIdProperty will usesheetIndexTo fix incorrect worksheet index use
  • Fixed issue #809 where locked or hidden attributes of document cells may be lost after saving in some cases
  • Fixed issue #813 where calling the normal API after streaming write would cause streaming write to be lost
  • Fix missing fill color of negative chart data series

Performance optimization

  • The processing speed of numerical accuracy is improved

other

  • Go Modules depends on module updates
  • Unit tests and documentation updates
  • Updated multi-language documentation site in simplified Chinese, English, French, Russian, Japanese, Korean, Arabic, German and Spanish
  • Welcome to a Slack channel, Telegram group or tech chat group

DingTalk Group ID: 30047129 QQ Group ID: 207895940