Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
January 8, 2023 04:19 pm GMT

Excelize 2.7.0 Released - Go language API for spreadsheets (Excel) files

Go Language Open Source Excel Library Excelize 2.7.0 Released

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.0. 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

  • Upgrade requirements Go language version is 1.16 or later, for migration of deprecation package ioutil
  • Checking and return error for invalid sheet name instead of trim invalid characters
  • The GetCellStyle function no longer return master cell style of the merge cell range
  • Rename 5 exported data types and error constant:
    • Rename PivotTableOption to PivotTableOptions
    • Rename FormatHeaderFooter to HeaderFooterOptions
    • Rename FormatSheetProtection to SheetProtectionOptions
    • Rename SparklineOption to SparklineOptions
    • Rename ErrExistsWorksheet to ErrExistsSheet
  • Remove 54 exported types, get more details from the release page on the official documentation website
  • Change 21 functions signature, get more details from the release page on the official documentation website
    • SetPageLayout
    • GetPageLayout
    • SetPageMargins
    • GetPageMargins
    • GetSheetIndex
    • SetSheetName
    • GetSheetVisible
    • DeleteSheet
    • NewSheet
    • NewConditionalStyle
    • NewStyle
    • AddChart
    • AddChartSheet
    • AddShape
    • AddPicture
    • AddPictureFromBytes
    • AddTable and stream mode AddTable function
    • AutoFilter
    • SetPanes
    • SetConditionalFormat
  • Introduce new function to instead of existing functions:
    • Use SetSheetProps instead of SetSheetPrOptions and SetSheetFormatPr
    • Use GetSheetProps instead of GetSheetPrOptions and GetSheetFormatPr
    • Use SetSheetView instead of SetSheetViewOptions
    • Use GetSheetView instead of GetSheetViewOptions
    • Use SetWorkbookProps instead of SetWorkbookPrOptions
    • Use GetWorkbookProps instead of GetWorkbookPrOptions
    • Use InsertRows instead of InsertRow for support inserting multiple rows at once
    • Use InsertCols instead of InsertCol for support inserting multiple columns at once
  • Add CellTypeFormula, CellTypeInlineString, CellTypeSharedString and remove CellTypeString in CellType enumeration
  • The parameter has been changed for the AddComment function, support create rich-text in comments, related issue #1204
  • Remove internal error log print, an error will be returned when XML deserialize error, add error return value for the GetComments, GetDefaultFont and SetDefaultFont functions

Notable Features

  • Add new functions GetDataValidations and GetConditionalFormats for get data validations and conditional formats, related issue #827
  • Add new functions ProtectWorkbook and UnprotectWorkbook for workbook protection supports
  • Add new function SetSheetCol for set worksheet column cells, related issue #1247
  • Add new function GetColStyle for set column styles, related issue #1293
  • Add new function SetSheetBackgroundFromBytes for set background picture by given image data, related issue #1405
  • Add new export variable IndexedColorMapping
  • Add 20 export types: AutoFilterListOptions, AutoFilterOptions, Chart, ChartAxis, ChartDimension, ChartLegend, ChartLine, ChartMarker, ChartPlotArea, ChartSeries, ChartTitle, ConditionalFormatOptions, PaneOptions, Panes, GraphicOptions, Shape, ShapeColor, ShapeLine, ShapeParagraph and TableOptions
  • New support 2 formula functions: AGGREGATE and SUBTOTAL
  • The Save, Write and WriteTo function now accept saving options, related issue #744
  • The AddChart function support specify if smooth line of the line chart, related issue #1290
  • The AddChart function support set custom line color in the charts, related issue #1345
  • The AddChart function support custom chart axis font style, related issue #320
  • The AddChart function support create 3D line chart
  • The functions SetColWidth, GetColWidth, SetColVisible, GetColVisible, SetColStyle and GetColStyle now support concurrency safe
  • An error will be returned when set the not exist style ID, related issue #1323
  • An error will be returned when setting the stream row without ascending row numbers, to avoid potential mistakes, related issue #1139
  • The stream writer will be apply style in RowOpts for each cell, related issue #1354
  • The stream writer support to set panes, related issue #1047
  • The stream writer support to set inline rich text cell
  • The stream writer support to insert the page break
  • New 7 exported errors: ErrUnprotectWorkbook, ErrUnprotectWorkbookPassword, ErrStreamSetPanes, ErrSheetNameBlank, ErrSheetNameInvalid, ErrSheetNameLength and ErrSheetNameSingleQuote has been added
  • Introduce 5 new export data types: HeaderFooterOptions, PageLayoutMarginsOptions, PageLayoutOptions, SheetPropsOptions, and ViewOptions
  • Support to set summary columns to appear to the right of detail in an outline
  • Support to set and get font color with theme and tint, related issue #1369
  • Support get cell value which contains a date in the ISO 8601 format
  • Support set and get font color with indexed color
  • Support update column style when inserting or deleting columns
  • The workbook Close function now support cleanup stream writer temporary files
  • The AddPicture function now allowing insert SVG format images

Improve the Compatibility

  • Stream writer writes inline string type for string cell value, related issue #1377
  • Skip empty rows when saving the spreadsheet to reduce file size, related issue #1383

Bug Fixes

  • Fix decimal number format round issue with build-in number format, resolve issue #1328, #1368 and #1373
  • Fix apply AM/PM number format issue in some case, resolve issue #1338
  • Fix the panic when delete comments caused by slice bounds out of range, resolve issue #1343
  • Fix the panic when get cell value in some case, resolve issue #1384 and #1415
  • Fix default number format parse issue with a long string of digits, resolve issue #1360
  • Fix creating a sheet with an empty name cause a corrupted file, resolve issue #1361
  • Fix get image content was empty after inserting image
  • Fix generate workbook corruption after insert columns/rows in some case
  • Delete shared formula in calc chain when writing a formula cell, to fix generate workbook corruption in some case
  • Normalize the sheet name to fix behavior regression between 2.6.0 & 2.6.1, resolve issue #1365
  • Fix the formula calculation result issue of the OR function
  • Fix error on inserting columns or rows on the worksheet which contains one cell merged cell range
  • Fix error on getting the range of merged cells on the worksheet which contains one cell merged cell range
  • Fix getting incomplete rich text cell value in some cases
  • Escape XML characters for stream writer to avoid with corrupt file, resolve issue #1391
  • Fix formula function ADDRESS result error with empty worksheet name, resolve issue #1396
  • Fix insert picture problem in some cases, resolve issue #1404

Performance

  • Improve performance for stream writer merging cells, time cost decrease over 90% and reduce memory usage by about 86% at most
  • Improving performance for stream writer SetRow function, reduces memory usage over and speedup about 19%

Miscellaneous

  • 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:

  • cdenicola (Cooper de Nicola)
  • chenliu1993
  • davidborry
  • patsak (Kostya Privezentsev)
  • dafengge0913
  • Beeb0p (Artem Tarasenko)
  • invzhi
  • zhangzitao (Zitao)
  • jtwatson (Joseph Watson)
  • carbin-gun (charles.deng)
  • harrison3000 (Harrison)
  • strivek (GaoFei)
  • gonghaibinx
  • martinmr (Martin Martinez Rivera)
  • zclark (Zach Clark)
  • March0715 (March)
  • renxiaotu
  • devloppper
  • jianxinhou
  • nesstord
  • Bayzet (Bayzet Tlyupov)
  • guoweikuang ()
  • qinyuguang (Gin)
  • liron-l (Liron Levin)

Original Link: https://dev.to/xuri/excelize-270-released-go-language-api-for-spreadsheets-excel-files-9en

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To