Excelize released version 2.6.0, a powerful base library for Excel documents

Excelize released version 2.6.0, a powerful base library for Excel documents

Excelize  is a basic library for operating Office Excel documents written in Go language, 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 complex components such as styles, pictures (tables), pivot tables, slicers, etc., and provides streaming read and write APIs for processing large-scale data. work log. It can be applied to various reporting platforms, cloud computing, edge computing and other systems. Selected as 2020 Gopher China - Go field star open source project (GSP), 2018 open source Chinese code cloud most valuable open source project GVP (Gitee Most Valuable Project), has become the most popular Excel document base library in Go language. 

open source code

GitHub:github.com/xuri/excelize 

Gitee: gitee.com/xurime/excelize 

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

On April 11, 2022, the community officially released version 2.6.0, which includes a number of new features, bug fixes, and compatibility improvements. Below is a summary of what's been updated for this release, and the full list of changes can be found in the changelog . 

The most notable changes in this release include:

Compatibility Tips

  • Renamed export constant to to fix typo NameSpaceDublinCoreMetadataIntiative  NameSpaceDublinCoreMetadataInitiative 
  • Rename the exported variable to ErrUnsupportEncryptMechanism  ErrUnsupportedEncryptMechanism
  • Rename the exported variable to ErrDataValidationFormulaLenth  ErrDataValidationFormulaLength
  • Rename the exported variable to ErrDefinedNameduplicate  ErrDefinedNameDuplicate
  • Removed export variables XMLHeaderByte
  • Removed the second parameter and exception return value of the set data data validation list function SetSqrefDropList  isCurrentSheet 
  • Removed exported fields in row iterators TotalRows

new features

  • ProtectSheet Added support for protecting worksheets by specifying algorithms, supported algorithms include: XOR, MD4, MD5, SHA1, SHA256, SHA384 and SHA512
  • UnprotectSheet Support for password validation when removing sheet protection by specifying a second optional parameter
  • 新增 71 项公式函数: AVERAGEIFS, BETADIST, BETA.DIST, BETAINV, BETA.INV, BINOMDIST, BINOM.DIST, BINOM.DIST.RANGE, BINOM.INV, CHIINV, CHITEST, CHISQ.DIST, CHISQ.DIST.RT, CHISQ.INV, CHISQ.INV.RT, CHISQ.TEST, CONFIDENCE.T, CORREL, COVAR, COVARIANCE.P, CRITBINOM, ERROR.TYPE, EXPON.DIST, EXPONDIST, F.DIST, F.DIST.RT, FDIST, F.INV, F.INV.RT, FINV, FORMULATEXT, F.TEST, FTEST, GAMMA.DIST, GAMMADIST, GAMMA.INV, GAMMAINV, GAMMALN.PRECISE, GAUSS, HOUR, HYPGEOM.DIST, HYPGEOMDIST, INDIRECT, LOGINV, LOGNORM.DIST, LOGNORMDIST, LOGNORM.INV, MODE, MODE.MULT, MODE.SNGL, NEGBINOM.DIST, NEGBINOMDIST, PHI, SECOND, SERIESSUM, SUMIFS, SUMPRODUCT, SUMX2MY2, SUMX2PY2, SUMXMY2, T.DIST, T.DIST.2T, T.DIST.RT, TDIST, TIMEVALUE, T.INV, T.INV.2T, TINV, T.TEST, TTEST, TYPE
  • Added checking of file extensions when saving or saving as a workbook
  • Support setting workbook view mode and showing/hiding ruler
  • Introduce the dependency library NFP (number format parser) to add support for custom time, date and text type number formats, including 19 languages ​​(Afrikaans, Bengali, Chinese, English, French, German, Austrian, Irish, Italian, Russian, Spanish, Thai, Tibetan, Turkish, Welsh, Wolof, Xhosa, Yi, and Zulu) local month names and numerical representation in 12-hour format parsing, related issues #660, #764, #1093, #1112 and #1133
  • Added API: and support for setting and getting the and properties in the workbook, to lift the limitation of embedding VBA projects into the workbook in some cases, related issue #1148 SetWorkbookPrOptions  GetWorkbookPrOptions  FilterPrivacy  CodeName 
  • The formula calculation engine supports the calculation of formula functions with no parameters after the infix operator
  • Supports reading boolean cell values ​​as text
  • When adding a doughnut chart through a function, support specifying the inner diameter of the doughnut chart, solving issue #1172 AddChart 
  • Added export of 4 error messages , , , , so that developers can take corresponding actions according to different error types ErrPasswordLengthInvalid ErrUnsupportedHashAlgorithm ErrUnsupportedNumberFormat ErrWorkbookExt

Compatibility improvement

  • Improve compatibility with the LibreOffice spreadsheet application, fix the issue that the auto filter does not work when the sheet name opened in LibreOffice contains spaces, and resolve issue #1122
  • Improve support for alternate content in workbooks, preserve alternate content in workbooks, worksheets, and drawingML
  • Improve compatibility with the Print Quality DPI Settings property in Page Setup

bug fix

  • Fix the issue that the page layout properties are lost when saving as a workbook, resolve issue #1117
  • Fix the problem that the merged cell range is not updated after modifying the worksheet in some cases
  • Fixed the loss of bold and some other font styles caused by abnormal style parsing, and resolved issue #1119
  • Fixed the issue that the document was corrupted after saving the document in XLAM / XLSM / XLTM / XLTX format in some cases
  • The cell style supports inheriting row/column styles to fix the problem that the cell style of the merged cell area is incorrect after modifying the worksheet, and resolves issue #1129
  • Fix the problem that the cell style ID is incorrectly obtained in some cases
  • Fix the problem that the built-in number format with number 42 is incorrectly defined
  • Fix the problem of numerical precision parsing error in some cases
  • SetCellDefault Support setting the value of non-numeric cells, resolve issue #1139
  • Fix the issue that the property of showing or hiding the worksheet label is lost when saving as a workbook in some cases, resolve issue #1160
  • Fix the problem of incorrect calculation of nested formulas in some cases, and solve issue #1164
  • Fixed the inaccuracy of formula calculation results in some cases and the inconsistency of formula calculation results under x86 and arm64 architecture CPUs
  • Fix the problem that numerical analysis using scientific notation fails in some cases
  • Fix the problem that the chart axis maximum and minimum values ​​do not work when the minimum value is 0

performance optimization

  • Improve the performance of streaming reading using row iterators. When reading spreadsheet documents containing large-scale data, the memory overhead is reduced by up to about 50% compared to the previous version, and the number of memory garbage collections is reduced by about 80%

other

  • Go Modules dependency module update
  • Unit testing and documentation updates
  • Multilingual documentation website update with Simplified Chinese, English, French, Russian, Japanese, Korean, Arabic, German and Spanish

Guess you like

Origin www.oschina.net/news/190574/excelize-2-6-0-released