github qax-os/excelize v2.10.1

8 hours ago

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 ChartDataPoint data type
  • Added the DataPoint field to ChartSeries
  • Added the DropLines and HighLowLines fields to ChartAxis
  • Added the Name field to GraphicOptions
  • Added two constants: MaxGraphicAltTextLength and MaxGraphicNameLength
  • Added 7 exported error variables: ErrFillType, ErrFillGradientColor, ErrFillGradientShading, ErrFillPatternColor, ErrFillPattern, ErrMaxGraphicAltTextLength and ErrMaxGraphicNameLength
  • Added the exported function GetHyperLinkCells to retrieve hyperlink cells, related issue #1607
  • Added the exported function GetSheetProtection to retrieve sheet protection settings
  • The AddComment function 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 CalcCellValue function now supports two formula functions: SORTBY and UNIQUE
  • The AddChart and AddChartSheet functions now support setting data point colors for doughnut, pie, and 3D pie charts, related issue #1904
  • The AddChart function now supports configuring font families for East Asian and complex-script fonts
  • The AddChart function now supports drop lines and high-low lines for area and line charts
  • The GetPictures function can now return partial formatting properties, related issue #2157
  • Added the SetColVisible function to the streaming writer to set column visibility, related issue #2075
  • Added the SetColOutlineLevel function to the streaming writer to group columns, related issue #2212
  • The AddShape and AddSlicer functions now support one-cell anchor positioning for shapes and slicers
  • The GetSlicers function now supports retrieving slicers with one-cell anchor positioning
  • The SetConditionalFormat, GetConditionalFormats, and UnsetConditionalFormat functions now support the 3 triangles, 3 stars, and 5 boxes icon set conditional formats, related issue #2038
  • The UnsetConditionalFormat function now supports deleting a conditional format rule or data validation for a specific cell within a cell range
  • The AddPicture and AddPictureFromBytes functions now support setting the picture name
  • The AddChart and AddShape functions now support setting names and alternative text for charts and shapes
  • The AddSlicer function 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 GetCellValue and GetRows functions returned shared string indexes for empty strings, resolve issue #2240
  • Fixed GetPivotTables panicking 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 SetRow function
  • Fixed GetPictures not returning some cell images
  • Fixed workbook corruption caused by light theme color index overflow
  • Fixed DeleteDataValidation updating data validation cell ranges incorrectly with unordered cell references
  • Fixed SetConditionalFormat generating corrupted workbooks when setting time period conditional formatting rules
  • Fixed CalcCellValue failing to resolve references in some cases by trimming single quotes from sheet names
  • Fixed NewStyle creating duplicate styles when using the default font or fill, resolve issue #2254

Performance

  • Optimized CalcCellValue by adding a calculation cache and limiting processing to actual data ranges, resolve issues #2057 and #2223
  • Optimized CalcCellValue formula evaluation for VLOOKUP, reducing memory usage and execution time by about 50%, resolve issue #2139
  • Optimized GetMergeCells by 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:

Don't miss a new excelize release

NewReleases is sending notifications on new releases.