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.10.1. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the changelog.
Release Notes
The most notable changes in this release are:
Breaking Change
Removed three exported error variables: ErrStreamSetColStyle, ErrStreamSetColWidth, and ErrStreamSetPanes.
Notable Features
- Added the
ChartDataPointdata type - Added the
DataPointfield toChartSeries - Added the
DropLinesandHighLowLinesfields toChartAxis - Added the
Namefield toGraphicOptions - Added two constants:
MaxGraphicAltTextLengthandMaxGraphicNameLength - Added 7 exported error variables:
ErrFillType,ErrFillGradientColor,ErrFillGradientShading,ErrFillPatternColor,ErrFillPattern,ErrMaxGraphicAltTextLengthandErrMaxGraphicNameLength - Added the exported function
GetHyperLinkCellsto retrieve hyperlink cells, related issue 1607 - Added the exported function
GetSheetProtectionto retrieve sheet protection settings - The
AddCommentfunction now returns an error when adding a comment to a cell that already has one - Added support for inserting ICO images, related issue 2234
- The
CalcCellValuefunction now supports two formula functions: SORTBY and UNIQUE - The
AddChartandAddChartSheetfunctions now support setting data point colors for doughnut, pie, and 3D pie charts, related issue 1904 - The
AddChartfunction now supports configuring font families for East Asian and complex-script fonts - The
AddChartfunction now supports drop lines and high-low lines for area and line charts - The
GetPicturesfunction can now return partial formatting properties, related issue 2157 - Added the
SetColVisiblefunction to the streaming writer to set column visibility, related issue 2075 - Added the
SetColOutlineLevelfunction to the streaming writer to group columns, related issue 2212 - The
AddShapeandAddSlicerfunctions now support one-cell anchor positioning for shapes and slicers - The
GetSlicersfunction now supports retrieving slicers with one-cell anchor positioning - The
SetConditionalFormat,GetConditionalFormats, andUnsetConditionalFormatfunctions now support the 3 triangles, 3 stars, and 5 boxes icon set conditional formats, related issue 2038 - The
UnsetConditionalFormatfunction now supports deleting a conditional format rule or data validation for a specific cell within a cell range - The
AddPictureandAddPictureFromBytesfunctions now support setting the picture name - The
AddChartandAddShapefunctions now support setting names and alternative text for charts and shapes - The
AddSlicerfunction now supports setting alternative text for slicers - Added validation for graphic names and alternative text length; returns an error when the length exceeds the limit
- Added UTF-16-aware length checking and truncation
Improve the Compatibility
- Removed empty rows on save, reducing the generated workbook file size
Bug Fixes
- Fixed a v2.10.0 regression where the
GetCellValueandGetRowsfunctions returned shared string indexes for empty strings, resolve issue 2240 - Fixed
GetPivotTablespanicking when retrieving pivot tables in some cases - Fixed a panic when reading cell values with certain number format codes containing Chinese month names, resolve issue 2224
- Fixed a panic when opening encrypted workbooks in some cases, resolve issue 2237
- Fixed missing column styles when using the streaming writer
SetRowfunction - Fixed
GetPicturesnot returning some cell images - Fixed workbook corruption caused by light theme color index overflow
- Fixed
DeleteDataValidationupdating data validation cell ranges incorrectly with unordered cell references - Fixed
SetConditionalFormatgenerating corrupted workbooks when setting time period conditional formatting rules - Fixed
CalcCellValuefailing to resolve references in some cases by trimming single quotes from sheet names - Fixed
NewStylecreating duplicate styles when using the default font or fill, resolve issue 2254
Performance
- Optimized
CalcCellValueby adding a calculation cache and limiting processing to actual data ranges, resolve issues 2057 and 2223 - Optimized
CalcCellValueformula evaluation forVLOOKUP, reducing memory usage and execution time by about 50%, resolve issue 2139 - Optimized
GetMergeCellsby speeding up overlap checks for merged cell ranges and reducing memory usage, resolve issue 2226 - Optimized applying number format codes by converting using continued-fraction recurrence formulas
Miscellaneous
- The dependencies module has been updated
- Unit tests and godoc updated
- Documentation website with multilingual: Arabic, German, English, Spanish, French, Italian, Japanese, Korean, Portuguese, Russian, Chinese Simplified and Chinese Traditional, which has been updated.
- excelize-wasm NPM package release update for WebAssembly / JavaScript support
- excelize PyPI package release update for Python
- ExcelizeCs NuGet .Net package release for C#
Thank you
Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:
- pjh591029530 (Simmons25)
- Sang-Hyuk (SangHyuk)
- wangacc
- kenny-not-dead (Roman Sergeev)
- pegasscience-cyber
- jesusfelix951-lang
- felixdevelopper-hue
- shcabin
- radam9
- sqdtss
- IvanHristov98 (Ivan Hristov)
- yasarluo (Yasar Luo)
- DengY11 (Yi Deng)
- Kingson4Wu (Kingson4Wu)
- zhuzhengyang (Zhu Zhengyang)
- schbook
- rhinewg
- jpoz (James Pozdena)
- sides-flow (Sides)
- t4traw (Tatsuro Moriyama)
- ijustyce (杨春)
- d9c4
- imirkin (Ilia Mirkin)
- atmngw (Atsuki)
- Flashcqxg
- olivere (Oliver Eilhard)
- susautw (Su, Rin)
- ohauer (Olli Hauer)
- yan00353-0729

Top comments (0)