Excelize 2.7.1 Released - Powerful open-source library for spreadsheet (Excel) document
Tags: go, excel, excelize, opensource
Published: 2023-04-09 16:23:00

---
title: Excelize 2.7.1 Released - Powerful open-source library for spreadsheet (Excel) document
published: true
description: Excelize is a library written in pure Go and providing a set of functions that allow you to write to and read from XLSX files. 
tags: Go,Excel,Golang,Excelize,OpenSource
# cover_image: 
# Use a ratio of 100:42 for best results.
published_at: 2023-04-09 16:23 +0000
---

![Excelize 2.7.1 Released](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dqtk5s7o6b2wpwggjzqe.png)

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&trade; 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](https://github.com/xuri/excelize)

We are pleased to announce the release of version 2.7.1. Featured are a handful of new areas of functionality and numerous bug fixes.

A summary of changes is available in the [Release Notes](https://github.com/xuri/excelize/releases/tag/v2.7.1). A full list of changes is available in the [changelog](https://github.com/xuri/excelize/compare/v2.7.0...v2.7.1).

Release Notes
------------
The most notable changes in this release are:

### Breaking Change

* Remove the `Color` field in the `ChartLine` data type
* Replace the data type `ShapeParagraph` with `RichTextRun`
* Remove the `Color` field from the type `Shape`, and uses the `Fill` instead of it
* Remove the exported type `AutoFilterListOptions`
* Rename the exported type `TableOptions` to `Table`
* The `AddChart` function require using `ChartType` enumeration value to specify the chart type
* Change 7 functions signature:
  * Change the `func (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error` to `func (f *File) AutoFilter(sheet, rangeRef string, opts []AutoFilterOptions) error`
  * Change the `func (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error` to `func (f *File) AddPictureFromBytes(sheet, cell string, pic *Picture) error`
  * Change the `func (f *File) GetPicture(sheet, cell string) (string, []byte, error)` to `func (f *File) GetPictures(sheet, cell string) ([]Picture, error)`
  * Change the `func (f *File) AddVBAProject(bin string) error` to `func (f *File) AddVBAProject(file []byte) error`
  * Change the `func (f *File) GetComments() (map[string][]Comment, error)` to `func (f *File) GetComments(sheet string) ([]Comment, error)`
  * Change the `func (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error` to `func (f *File) AddTable(sheet string, table *Table) error`
  * Change the `func (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error` to `func (sw *StreamWriter) AddTable(table *Table) error`

### Notable Features

* Add new functions `SetSheetDimension` and `GetSheetDimension` for workbook dimension supports, related issue #1463
* The `NewStyle` function support to create of 17 kinds of fill variants styles
* Increase max cell styles limit to 65430
* The `AddPicture` function allowing insert BMP format images
* The `GetPictures` function support to get multiple images in a cell
* The `SetConditionalFormat` function support to creating a conditional format with a "stop if true" or "icon sets" rule
* The `SetConditionalFormat` function support to set border color and create solid color for the color data bar, related issue #1462
* The `AddChart` function support to set the format for the chart data series solid fill, related issue #1474
* The `AddChart` function support to set the bubble size in a data series
* The `AddChart` function support to specifies the values in second plot for the bar/pie of pie chart
* The `AddChart` function support to set number format for chart data labels and axis, related issue #1499
* The `AddTable` function support to specify if show header row of the table when create the table
* The `AddTable` function support to validate table name, and added a new error constant `ErrTableNameLength`, related issue #1468
* The `AutoFilter` function support to add multiple filter columns when create auto filter
* The `CalcCellValue` function support to specify if applying number format style for the cell calculation result
* The `CalcCellValue` function support double-byte chars for formula functions: LEFT, LEN, LENB, MID, MIDB, RIGHT and RIGHTB, related issue #1476
* The `CalcCellValue` function now returns formula error string in the result, and using the error message in returns error, related issue #1490
* Case-insensitive for the image file extension name, related issue #1503
* The stream writer will be skip set cell value when got nil value, related issue #756
* The `GetCellHyperLink` function support get cell hyperlink for merged cells
* Add new exported data type `ChartType` for represents chart type enumeration

### Improve the Compatibility

* Add support for workbook function groups
* Add support for strict theme namespace, related issue #1447
* Fix panic caused by the workbook relationship part not exist
* Improve compatibility with SST index which contains blank characters, related issue #1508

### Bug Fixes

* Fix decimal number format round issue in some cases
* Fix incorrect cell type when modifying string cell with the time number, resolve issue #1464
* Fix cell resolver caused incorrect calculation result, resolve issue #1469
* Fix conditional format data bar min/max value doesn't work, resolve issue #1492
* Supports 0 row height and column width, resolve issue #1461

### Performance

* Improve performance for apply number format with month name, related issue #1455
* Speed up for checking merged cells, related issue #1448

### Miscellaneous

* A pure WebAssembly / Javascript port of Go Excelize library named [excelize-wasm](https://github.com/xuri/excelize-wasm) NPM package has been production-ready use
* The dependencies module has been updated
* Unit tests and godoc updated
* Using the specialized name in variables and functions
* [Documentation website](https://xuri.me/excelize) 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:

* liron-l (Liron Levin)
* nathj07 (Nathan Davies)
* Josh-Weston (Josh Weston)
* jaby
* FlowingSPDG (Shugo Kawamura)
* barismar (Baris Mar Aziz)
* doingNobb (张涛)
* rpoetrap (Rizki Putra)
* huangshaokun
* CHANTXU64 (ChantXu64)
* playGitboy