Excel 2.4.0 official release, add 152 formula function support

Time:2021-5-2

Excel is a basic library for operating Office Excel documents written in go language, which is based on ecma-376 and ISO / IEC 29500 international standards. You can use it to read and write from Microsoft Excel ™ 2007 and above. It supports multiple document formats such as xlsx / xlsm / xltm, and is highly compatible with documents with complex components such as styles, pictures (tables), PivotTables, slicers, etc. it also provides streaming read-write API for workbooks containing large-scale data. It can be applied to various reporting platforms, cloud computing, edge computing and other systems. Selected into the 2020 gopher China – go star open source project (GSP) and the 2018 open source China Code cloud gitee most valuable open source project GVP, it has become the most popular excel document base for go language.

open source

GitHub: github.com/xuri/excelize

Gitee: gitee.com/xurime/excelize

Chinese document: xuri.me/excelize/zh-hans

On April 19, 2021, the community officially released version 2.4.0, which includes a number of new features, bug fixes and compatibility enhancement optimization. The following is a summary of the updates to this version. For a complete list of changes, see the changelog.

Release Notes

The most significant changes in this release include:

Compatibility notes

To upgrade to this version, you need to use go language version 1.15 or higher.

New features

  • newly addedGetCellRichTextAPI, support to get rich text according to given worksheet name
  • SetPageLayoutandGetPageLayoutNow it supports setting and getting page printing scale, specifying monochrome printing and starting page number
  • SetSheetPrOptionsandGetSheetPrOptionsSetting and getting sheet tab colors is now supported
  • SetCellHyperLinkSupport setting screen prompt text and display text, related issue # 790
  • Add support when creating PivotTableShowErroroption
  • The flow API supports setting cell formula, and the related issue ᦇ 625
  • Formula calculation engine supports unequal operators
  • Nested formula functions now support cell references as parameters
  • Support to specify whether to set chart data series format to auto fill color
  • New 152 formula functions support: atan, average, average, besselj, BIN2DEC, bin2hex, bin2oct, bitand, bitshift, bitor, bitshift, bitxor, char, choose, clean, code, column, columns, complex, restrict, concatenate, count, countbank, cumipmt, cumprinc, date, datedif, DB, DDB, DEC2BIN, DEC2HEX, dec2oct, Dollard, 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

Compatibility enhancement

  • WhennilCalled as a valueSetCellValueWhen setting the value of a cell, the blank string is no longer set for the cell, but replaced by a blank value to solve the problem of issue # 756
  • Remove redundant XML optional null value parsing identifier when processing cell fill color styles internally
  • To improve the compatibility with Google sheets offline browser extension application, issue ᦇ 769
  • In order to improve the compatibility with Apache OpenOffice application, absolute reference is used in the name corresponding to the filter to solve the problem of issue # 776
  • In order to improve the reading performance of row / column iterator, the processing of XML tag closing event is added in the process of stream parsing worksheet, and the problem of reading wrong number of rows in some cases is fixed
  • Improve the compatibility of worksheet documents in workbooks using relative paths
  • Avoid creating duplicate rich text style, solve issue # 787
  • Improve the compatibility between absolute path and windows directory separator for worksheet documents in workbooks

Problem fixing

  • Repair the rounding accuracy problem
  • Add and adjust the parsing order of worksheet fields, and fix the problem of damaged documents generated in some cases
  • repairCOTHError in the calculation of hyperbolic cotangent trigonometric function
  • The formula calculation chain adds the associated processing of the worksheet, repairs the document damage caused by copying lines in some cases, and solves the issue # 774 problem
  • When deleting a worksheet, add the name processing to solve the problem of issue # 775
  • Fix inner functionnewFillsandparseTokenThe problem of high cycle complexity
  • Fix check for default custom row height of worksheet
  • Fix the problem of document damage caused by canceling all merged cells in the worksheet, and solve the problem of issue # 782
  • Fix the problem of partial missing of filter conditions in some cases
  • Fix when a workbook contains chart sheets, dialog sheets,UpdateLinkedValueThe wrong problem
  • Repair part of the caseGetColWidthReturn the problem of default column width error
  • Fix the problem that the timeline and slicer cannot be added to the created PivotTable through the Excel spreadsheet application
  • Internal when setting the namelocalSheetIdProperty will usesheetIndexTo fix the wrong use of the worksheet index
  • In some cases, the locked or hidden attributes of saved document cells may be lost, and the problem of issue # 809 is solved
  • Restoring the common API after streaming data writing will lead to the loss of streaming writes, and solve issue #813
  • Fixed missing fill color in negative chart data series

performance optimization

  • The processing speed of numerical accuracy is improved

other

  • Go modules depends on module updates
  • Unit test and document update
  • Updated multilingual documentation website with simplified Chinese, English, French, Russian, Japanese, Korean, Arabic, German and Spanish

Recommended Today

RabbitMQ study notes

Table of contents Related concepts RabbitMQ Install RabbitMQ core part Hello World Work Queues release confirmation switch fanout exchange (pub/sub) direct exchange topic exchange dead letter queue delay queue Release Confirmation Advanced The switch receives the message confirmation callback Fallback message to producer when switch is not routable Backup switch other idempotency priority queue lazy […]