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™ 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
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.
Release Notes
The most notable changes in this release are:
Breaking Change
- Remove the
Color
field in theChartLine
data type - Replace the data type
ShapeParagraph
withRichTextRun
- Remove the
Color
field from the typeShape
, and uses theFill
instead of it - Remove the exported type
AutoFilterListOptions
- Rename the exported type
TableOptions
toTable
- The
AddChart
function require usingChartType
enumeration value to specify the chart type - Change 7 functions signature:
- Change the
func (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error
tofunc (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
tofunc (f *File) AddPictureFromBytes(sheet, cell string, pic *Picture) error
- Change the
func (f *File) GetPicture(sheet, cell string) (string, []byte, error)
tofunc (f *File) GetPictures(sheet, cell string) ([]Picture, error)
- Change the
func (f *File) AddVBAProject(bin string) error
tofunc (f *File) AddVBAProject(file []byte) error
- Change the
func (f *File) GetComments() (map[string][]Comment, error)
tofunc (f *File) GetComments(sheet string) ([]Comment, error)
- Change the
func (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error
tofunc (f *File) AddTable(sheet string, table *Table) error
- Change the
func (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error
tofunc (sw *StreamWriter) AddTable(table *Table) error
- Change the
Notable Features
- Add new functions
SetSheetDimension
andGetSheetDimension
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 constantErrTableNameLength
, 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 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 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