Excel released version 2.0.2, the most popular excel basic library of go language


Excel is a class library written in go language for operating Office Excel documents. It is based on ecma-376 office open XML standard. It can be used to read and write xlsx documents created by Microsoft Excel? 2007 and above. Compared with other open source libraries, excel supports writing documents with complex styles such as pictures (tables), PivotTables, slicers, etc. it also supports inserting pictures and charts into EXCEL documents, and will not lose the original styles of documents after saving. It can be applied to various report systems. It has been selected as the most valuable open source project GVP of 2018 open source China Code cloud gitee, and has become the most popular excel document base of go language.

open source

GitHub: github.com/xuri/excelize
Gitee: gitee.com/xurime/excelize
Chinese document: xuri.me/excelize/zh-hans

Excelize well known users

Excel released version 2.0.2, the most popular excel basic library of go language

On October 9, 2019, the community officially released version 2.0.2, which includes a number of new features, bug fixes and compatibility enhancement optimization. The following is a summary of the updated content of this version. The complete change list can be viewed in the change log.

For a summary of the changes, see release notes. A complete list of changes can be found in the change log.

Release Notes

The most significant changes in this release include:

Compatibility notes

Upgrading to this version requires your go language version to be greater than 1.10.

New function

  • Support to create PivotTable. Newly addedAddPivotTable()function
  • Support for sparkline creation. Newly addedAddSparkline()function
  • Newly addedGroupSheets()andUngroupSheets()Method to set and ungroup worksheets
  • Newly addedAddVBAProject()Method to embed VBA projects containing functions and macros into EXCEL documents
  • functionSetPageLayout()Increase the support of adaptive page width and height attributes, and the relevant issue ා 432
  • functionSetSheetViewOptions()Now it supports the setting of “display zero value in cells with zero value” property
  • functionSetCellFormula()Added support for setting formula type and reference property
  • Added support for creating font styles with strikethrough, related issue ×

Problem repair

  • Fix the problem of reading annotation content text incompletely in some cases, and solve the problem of issue ×
  • Fix partial cases caused by internal merge cell offset calculation errorRemoveRow()If the subscript of the deleted line is out of range, the issue ා 437 should be solved
  • Fix formula failure in data validation pull-down menu in some cases
  • Repair is called in cyclic iteration.Save()Method to solve the problem of document corruption caused by saving
  • Promote document interiorworkbook.xml.relsThe compatibility of relative path format parsing in the solution of issue ා
  • Repair file corruption caused by deleting documents with merged cells in some cases
  • Repair the failure of setting protection worksheet attribute in some cases, and solve the problem of “issue”
  • In some cases of repairGetSheetNameGet the problem that the worksheet name is empty, and solve the issue ×
  • Support for multi line text parsing in cells is added, and the related issue ×
  • Fix the problem of digital overflow in 32-bit operating system environment, related issue
  • Fix go module dependent version mismatch, issue ×466 and issue ×480
  • Call in case of partial repairSetSheetPrOptions()Solve the problem of document corruption caused by issue ×

Performance performance

  • Performance optimization, reducing memory overhead and time-consuming when reading documents, related issues ×


  • perfectSetSheetRow()Exception handling in functions
  • Code reduction and optimization, combining the following internal functions:

Will functionworkBookRelsWriter, drawingRelsWriterMerge intorelsWriter;
Will functiondrawingRelsReader, workbookRelsReader, workSheetRelsReaderMerge intorelsReader;
Will functionaddDrawingRelationships, addSheetRelationshipsMerge intoaddRels

Recommended Today

How to share queues with hypertools 2.5

Share queue with swote To realize asynchronous IO between processes, the general idea is to use redis queue. Based on the development of swote, the queue can also be realized through high-performance shared memory table. Copy the code from the HTTP tutorial on swoole’s official website, and configure four worker processes to simulate multiple producers […]