<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: xuri</title>
    <description>The latest articles on DEV Community by xuri (@xuri).</description>
    <link>https://dev.to/xuri</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F125744%2F939d80ba-d615-4687-8680-0af740270d44.png</url>
      <title>DEV Community: xuri</title>
      <link>https://dev.to/xuri</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/xuri"/>
    <language>en</language>
    <item>
      <title>Excelize 2.10.1 Released - Powerful open-source library for spreadsheet (Excel) document</title>
      <dc:creator>xuri</dc:creator>
      <pubDate>Wed, 04 Mar 2026 04:45:40 +0000</pubDate>
      <link>https://dev.to/xuri/excelize-2100-released-powerful-open-source-library-for-spreadsheet-excel-document-1kjf</link>
      <guid>https://dev.to/xuri/excelize-2100-released-powerful-open-source-library-for-spreadsheet-excel-document-1kjf</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc03xilq07emlcsatnznx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc03xilq07emlcsatnznx.jpg" alt="" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/xuri/excelize" rel="noopener noreferrer"&gt;github.com/xuri/excelize&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;A summary of changes is available in the &lt;a href="https://github.com/xuri/excelize/releases/tag/v2.10.1" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;. A full list of changes is available in the &lt;a href="https://github.com/xuri/excelize/compare/v2.10.0...v2.10.1" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Release Notes
&lt;/h2&gt;

&lt;p&gt;The most notable changes in this release are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Breaking Change
&lt;/h3&gt;

&lt;p&gt;Removed three exported error variables: &lt;code&gt;ErrStreamSetColStyle&lt;/code&gt;, &lt;code&gt;ErrStreamSetColWidth&lt;/code&gt;, and &lt;code&gt;ErrStreamSetPanes&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Notable Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added the &lt;code&gt;ChartDataPoint&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Added the &lt;code&gt;DataPoint&lt;/code&gt; field to &lt;code&gt;ChartSeries&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Added the &lt;code&gt;DropLines&lt;/code&gt; and &lt;code&gt;HighLowLines&lt;/code&gt; fields to &lt;code&gt;ChartAxis&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Added the &lt;code&gt;Name&lt;/code&gt; field to &lt;code&gt;GraphicOptions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Added two constants: &lt;code&gt;MaxGraphicAltTextLength&lt;/code&gt; and &lt;code&gt;MaxGraphicNameLength&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Added 7 exported error variables: &lt;code&gt;ErrFillType&lt;/code&gt;, &lt;code&gt;ErrFillGradientColor&lt;/code&gt;, &lt;code&gt;ErrFillGradientShading&lt;/code&gt;, &lt;code&gt;ErrFillPatternColor&lt;/code&gt;, &lt;code&gt;ErrFillPattern&lt;/code&gt;, &lt;code&gt;ErrMaxGraphicAltTextLength&lt;/code&gt; and &lt;code&gt;ErrMaxGraphicNameLength&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Added the exported function &lt;code&gt;GetHyperLinkCells&lt;/code&gt; to retrieve hyperlink cells, related issue 1607&lt;/li&gt;
&lt;li&gt;Added the exported function &lt;code&gt;GetSheetProtection&lt;/code&gt; to retrieve sheet protection settings&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddComment&lt;/code&gt; function now returns an error when adding a comment to a cell that already has one&lt;/li&gt;
&lt;li&gt;Added support for inserting ICO images, related issue 2234&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;CalcCellValue&lt;/code&gt; function now supports two formula functions: SORTBY and UNIQUE&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; and &lt;code&gt;AddChartSheet&lt;/code&gt; functions now support setting data point colors for doughnut, pie, and 3D pie charts, related issue 1904&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function now supports configuring font families for East Asian and complex-script fonts&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function now supports drop lines and high-low lines for area and line charts&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;GetPictures&lt;/code&gt; function can now return partial formatting properties, related issue 2157&lt;/li&gt;
&lt;li&gt;Added the &lt;code&gt;SetColVisible&lt;/code&gt; function to the streaming writer to set column visibility, related issue 2075&lt;/li&gt;
&lt;li&gt;Added the &lt;code&gt;SetColOutlineLevel&lt;/code&gt; function to the streaming writer to group columns, related issue 2212&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddShape&lt;/code&gt; and &lt;code&gt;AddSlicer&lt;/code&gt; functions now support one-cell anchor positioning for shapes and slicers&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;GetSlicers&lt;/code&gt; function now supports retrieving slicers with one-cell anchor positioning&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;SetConditionalFormat&lt;/code&gt;, &lt;code&gt;GetConditionalFormats&lt;/code&gt;, and &lt;code&gt;UnsetConditionalFormat&lt;/code&gt; functions now support the 3 triangles, 3 stars, and 5 boxes icon set conditional formats, related issue 2038&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;UnsetConditionalFormat&lt;/code&gt; function now supports deleting a conditional format rule or data validation for a specific cell within a cell range&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddPicture&lt;/code&gt; and &lt;code&gt;AddPictureFromBytes&lt;/code&gt; functions now support setting the picture name&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; and &lt;code&gt;AddShape&lt;/code&gt; functions now support setting names and alternative text for charts and shapes&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddSlicer&lt;/code&gt; function now supports setting alternative text for slicers&lt;/li&gt;
&lt;li&gt;Added validation for graphic names and alternative text length; returns an error when the length exceeds the limit&lt;/li&gt;
&lt;li&gt;Added UTF-16-aware length checking and truncation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Improve the Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Removed empty rows on save, reducing the generated workbook file size&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fixed a v2.10.0 regression where the &lt;code&gt;GetCellValue&lt;/code&gt; and &lt;code&gt;GetRows&lt;/code&gt; functions returned shared string indexes for empty strings, resolve issue 2240&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;GetPivotTables&lt;/code&gt; panicking when retrieving pivot tables in some cases&lt;/li&gt;
&lt;li&gt;Fixed a panic when reading cell values with certain number format codes containing Chinese month names, resolve issue 2224&lt;/li&gt;
&lt;li&gt;Fixed a panic when opening encrypted workbooks in some cases, resolve issue 2237&lt;/li&gt;
&lt;li&gt;Fixed missing column styles when using the streaming writer &lt;code&gt;SetRow&lt;/code&gt; function&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;GetPictures&lt;/code&gt; not returning some cell images&lt;/li&gt;
&lt;li&gt;Fixed workbook corruption caused by light theme color index overflow&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;DeleteDataValidation&lt;/code&gt; updating data validation cell ranges incorrectly with unordered cell references&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;SetConditionalFormat&lt;/code&gt; generating corrupted workbooks when setting time period conditional formatting rules&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;CalcCellValue&lt;/code&gt; failing to resolve references in some cases by trimming single quotes from sheet names&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;NewStyle&lt;/code&gt; creating duplicate styles when using the default font or fill, resolve issue 2254&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Optimized &lt;code&gt;CalcCellValue&lt;/code&gt; by adding a calculation cache and limiting processing to actual data ranges, resolve issues 2057 and 2223&lt;/li&gt;
&lt;li&gt;Optimized &lt;code&gt;CalcCellValue&lt;/code&gt; formula evaluation for &lt;code&gt;VLOOKUP&lt;/code&gt;, reducing memory usage and execution time by about 50%, resolve issue 2139&lt;/li&gt;
&lt;li&gt;Optimized &lt;code&gt;GetMergeCells&lt;/code&gt; by speeding up overlap checks for merged cell ranges and reducing memory usage, resolve issue 2226&lt;/li&gt;
&lt;li&gt;Optimized applying number format codes by converting using continued-fraction recurrence formulas&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Miscellaneous
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The dependencies module has been updated&lt;/li&gt;
&lt;li&gt;Unit tests and godoc updated&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://xuri.me/excelize" rel="noopener noreferrer"&gt;Documentation website&lt;/a&gt; with multilingual: Arabic, German, English, Spanish, French, Italian, Japanese, Korean, Portuguese, Russian, Chinese Simplified and Chinese Traditional, which has been updated.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/xuri/excelize-wasm" rel="noopener noreferrer"&gt;excelize-wasm&lt;/a&gt; NPM package release update for WebAssembly / JavaScript support&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/xuri/excelize-py" rel="noopener noreferrer"&gt;excelize&lt;/a&gt; PyPI package release update for Python&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/xuri/excelize-cs" rel="noopener noreferrer"&gt;ExcelizeCs&lt;/a&gt; NuGet .Net package release for C#&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Thank you
&lt;/h3&gt;

&lt;p&gt;Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pjh591029530 (Simmons25)&lt;/li&gt;
&lt;li&gt;Sang-Hyuk (SangHyuk)&lt;/li&gt;
&lt;li&gt;wangacc&lt;/li&gt;
&lt;li&gt;kenny-not-dead (Roman Sergeev)&lt;/li&gt;
&lt;li&gt;pegasscience-cyber&lt;/li&gt;
&lt;li&gt;jesusfelix951-lang&lt;/li&gt;
&lt;li&gt;felixdevelopper-hue&lt;/li&gt;
&lt;li&gt;shcabin&lt;/li&gt;
&lt;li&gt;radam9&lt;/li&gt;
&lt;li&gt;sqdtss&lt;/li&gt;
&lt;li&gt;IvanHristov98 (Ivan Hristov)&lt;/li&gt;
&lt;li&gt;yasarluo (Yasar Luo)&lt;/li&gt;
&lt;li&gt;DengY11 (Yi Deng)&lt;/li&gt;
&lt;li&gt;Kingson4Wu (Kingson4Wu)&lt;/li&gt;
&lt;li&gt;zhuzhengyang (Zhu Zhengyang)&lt;/li&gt;
&lt;li&gt;schbook&lt;/li&gt;
&lt;li&gt;rhinewg&lt;/li&gt;
&lt;li&gt;jpoz (James Pozdena)&lt;/li&gt;
&lt;li&gt;sides-flow (Sides)&lt;/li&gt;
&lt;li&gt;t4traw (Tatsuro Moriyama)&lt;/li&gt;
&lt;li&gt;ijustyce (杨春)&lt;/li&gt;
&lt;li&gt;d9c4&lt;/li&gt;
&lt;li&gt;imirkin (Ilia Mirkin)&lt;/li&gt;
&lt;li&gt;atmngw (Atsuki)&lt;/li&gt;
&lt;li&gt;Flashcqxg&lt;/li&gt;
&lt;li&gt;olivere (Oliver Eilhard)&lt;/li&gt;
&lt;li&gt;susautw (Su, Rin)&lt;/li&gt;
&lt;li&gt;ohauer (Olli Hauer)&lt;/li&gt;
&lt;li&gt;yan00353-0729&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>excelize</category>
      <category>productivity</category>
      <category>python</category>
      <category>ai</category>
    </item>
    <item>
      <title>Excelize 2.10.0 Released - Powerful open-source library for spreadsheet (Excel) document</title>
      <dc:creator>xuri</dc:creator>
      <pubDate>Fri, 17 Oct 2025 04:43:30 +0000</pubDate>
      <link>https://dev.to/xuri/excelize-2100-released-powerful-open-source-library-for-spreadsheet-excel-document-4pb7</link>
      <guid>https://dev.to/xuri/excelize-2100-released-powerful-open-source-library-for-spreadsheet-excel-document-4pb7</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2emfhwpz7wuk7si728e.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2emfhwpz7wuk7si728e.jpg" alt="Excelize 2.10.0 Released" width="550" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/xuri/excelize" rel="noopener noreferrer"&gt;github.com/xuri/excelize&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are pleased to announce the release of version 2.10.0. Featured are a handful of new areas of functionality and numerous bug fixes.&lt;/p&gt;

&lt;p&gt;A summary of changes is available in the &lt;a href="https://github.com/xuri/excelize/releases/tag/v2.10.0" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Release Notes
&lt;/h2&gt;

&lt;p&gt;The most notable changes in this release are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Breaking Change
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Upgrade requirements Go language version is 1.24.0 or later, for upgrade of dependency package &lt;code&gt;golang.org/x/crypto&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Notable Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add new exported error variable &lt;code&gt;ErrTransparency&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Add new &lt;code&gt;ChartDashType&lt;/code&gt;, &lt;code&gt;CustomProperty&lt;/code&gt; and &lt;code&gt;ZipWriter&lt;/code&gt; data types&lt;/li&gt;
&lt;li&gt;Add new field &lt;code&gt;Border&lt;/code&gt; to the &lt;code&gt;ChartMarker&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Add new field &lt;code&gt;Font&lt;/code&gt; to the &lt;code&gt;ChartLegend&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Add new field &lt;code&gt;Legend&lt;/code&gt; to the &lt;code&gt;ChartSeries&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Add new field &lt;code&gt;Transparency&lt;/code&gt; to the &lt;code&gt;Fill&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Add new fields &lt;code&gt;Dash&lt;/code&gt; and &lt;code&gt;Fill&lt;/code&gt; to the &lt;code&gt;ChartLine&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Add new field &lt;code&gt;TmpDir&lt;/code&gt; to the &lt;code&gt;Options&lt;/code&gt; data type, support to specifies the custom temporary directory for creating temporary files, related issue 2024&lt;/li&gt;
&lt;li&gt;Add new field &lt;code&gt;Charset&lt;/code&gt; to the &lt;code&gt;Font&lt;/code&gt; data type, support to explicitly specify font encodings when generating spreadsheets&lt;/li&gt;
&lt;li&gt;Add new functions &lt;code&gt;GetCustomProps&lt;/code&gt; and &lt;code&gt;SetCustomProps&lt;/code&gt; support getting and setting workbook custom properties, related issue 2146&lt;/li&gt;
&lt;li&gt;Add new function &lt;code&gt;SetZipWriter&lt;/code&gt;, support set custom ZIP writer, related issue 2199&lt;/li&gt;
&lt;li&gt;Add optional parameter &lt;code&gt;withoutValues&lt;/code&gt; for the &lt;code&gt;GetMergeCells&lt;/code&gt; function&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;DeleteDataValidation&lt;/code&gt; function support delete data validation in extension list, and support delete data validation by given with multiple cell ranges with reference sequence slice or blank separated reference sequence string, related issue 2133&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function support set dash line and marker border type of charts&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function support to set font for chart legends, related issue 2169&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; and &lt;code&gt;AddChartSheet&lt;/code&gt; function support create 4 kinds of box and whisker stock charts: High-Low-Close, Open-High-Low-Close, Volume-High-Low-Close and Volume-Open-High-Low-Close&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;CalcCellValue&lt;/code&gt; function support BAHTTEXT formula function&lt;/li&gt;
&lt;li&gt;Skip fallback to default font size when create style if font size less than minimum size&lt;/li&gt;
&lt;li&gt;Support parse number format code with Hijri and Gregorian calendar&lt;/li&gt;
&lt;li&gt;Support set transparency for chart and shape, related issue 2176&lt;/li&gt;
&lt;li&gt;Support apply number format with the new 8 language: Corsican, Croatian, Croatian (Latin), Czech, Danish, Divehi, Dutch, Dzongkha language&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Improve the Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Remove all leading equal symbol when set cell formula, for improve compatibility with Apple Numbers, related issue 2145&lt;/li&gt;
&lt;li&gt;Using relative sheet target path in the internal workbook relationship parts&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fix a v2.9.1 regression bug, build failed on ARMv7 architectures, resolve issue 2132&lt;/li&gt;
&lt;li&gt;Fix number format parser dropped empty literals in the end of the number format&lt;/li&gt;
&lt;li&gt;Fix panic on get string item with invalid offset range, resolve issues 2019 and 2150&lt;/li&gt;
&lt;li&gt;Fix panic on read unsupported pivot table cache sorce types, resolve issue 2161&lt;/li&gt;
&lt;li&gt;Fix incorrect characters verification, count characters as single runes in characters length limitation checking, resolve issue 2167&lt;/li&gt;
&lt;li&gt;Fix add pivot table caused workbook corrupted on Excel for Mac, resolve issue 2180&lt;/li&gt;
&lt;li&gt;Fix incorrect month name abbreviations when read cell with the Tibetan language number format code&lt;/li&gt;
&lt;li&gt;Fix special date number format result not consistent with Excel, resolve issue 2192&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Optimize the &lt;code&gt;GetSheetDimension&lt;/code&gt; function by parse worksheet XML in stream mode, speedup about 95%, memory usage reduce about 96%&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Miscellaneous
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The dependencies module has been updated&lt;/li&gt;
&lt;li&gt;Unit tests and godoc updated&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://xuri.me/excelize" rel="noopener noreferrer"&gt;Documentation website&lt;/a&gt; with multilingual: Arabic, German, English, Spanish, French, Italian, Japanese, Korean, Portuguese, Russian, Chinese Simplified and Chinese Traditional, which has been updated.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/xuri/excelize-wasm" rel="noopener noreferrer"&gt;excelize-wasm&lt;/a&gt; NPM package release update for WebAssembly / JavaScript support&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/xuri/excelize-py" rel="noopener noreferrer"&gt;excelize&lt;/a&gt; PyPI package release update for Python&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/xuri/excelize-cs" rel="noopener noreferrer"&gt;ExcelizeCs&lt;/a&gt; NuGet .Net package release for C#&lt;/li&gt;
&lt;li&gt;Add a new logo for Excelize&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Thank you
&lt;/h3&gt;

&lt;p&gt;Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DengY11 (Yi Deng)&lt;/li&gt;
&lt;li&gt;JerryLuo-2005&lt;/li&gt;
&lt;li&gt;aliavd1 (Ali Vatandoost)&lt;/li&gt;
&lt;li&gt;xiaoq898&lt;/li&gt;
&lt;li&gt;Now-Shimmer&lt;/li&gt;
&lt;li&gt;Jameshu0513&lt;/li&gt;
&lt;li&gt;mengpromax (MengZhongYuan)&lt;/li&gt;
&lt;li&gt;Leopard31415926&lt;/li&gt;
&lt;li&gt;hongjr03 (Hong Jiarong)&lt;/li&gt;
&lt;li&gt;juefeng&lt;/li&gt;
&lt;li&gt;black-butler&lt;/li&gt;
&lt;li&gt;Neugls&lt;/li&gt;
&lt;li&gt;Leo012345678&lt;/li&gt;
&lt;li&gt;a2659802&lt;/li&gt;
&lt;li&gt;torotake&lt;/li&gt;
&lt;li&gt;crush-wu&lt;/li&gt;
&lt;li&gt;zhuyanhuazhuyanhua&lt;/li&gt;
&lt;li&gt;shcabin&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>go</category>
      <category>excel</category>
      <category>excelize</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Excelize 2.9.1 Released - Powerful open-source library for spreadsheet (Excel) document</title>
      <dc:creator>xuri</dc:creator>
      <pubDate>Mon, 12 May 2025 16:40:37 +0000</pubDate>
      <link>https://dev.to/xuri/excelize-291-released-powerful-open-source-library-for-spreadsheet-excel-document-27cc</link>
      <guid>https://dev.to/xuri/excelize-291-released-powerful-open-source-library-for-spreadsheet-excel-document-27cc</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgvyewje3dt8oarj7w4x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgvyewje3dt8oarj7w4x.png" alt="Excelize 2.9.1 Released" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/xuri/excelize" rel="noopener noreferrer"&gt;github.com/xuri/excelize&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are pleased to announce the release of &lt;a href="https://github.com/xuri/excelize/releases/tag/v2.9.1" rel="noopener noreferrer"&gt;version 2.9.1&lt;/a&gt;. Featured are a handful of new areas of functionality and numerous bug fixes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Release Notes
&lt;/h2&gt;

&lt;p&gt;The most notable changes in this release are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Breaking Change
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Upgrade requirements Go language version is 1.23 or later, for upgrade of dependency package &lt;code&gt;golang.org/x/crypto&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Change the data type of &lt;code&gt;DataValidationType&lt;/code&gt;, &lt;code&gt;DataValidationErrorStyle&lt;/code&gt;, &lt;code&gt;DataValidationOperator&lt;/code&gt;, &lt;code&gt;PictureInsertType&lt;/code&gt; from &lt;code&gt;int&lt;/code&gt; to &lt;code&gt;byte&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;SetCellInt function required &lt;code&gt;int64&lt;/code&gt; data type parameter, resolve issue 2068&lt;/li&gt;
&lt;li&gt;When adding drawing objects such as pictures, charts, shapes, and form controls, the offset setting will no longer affect the size of the drawing object, related issue 2001&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Notable Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add new fields &lt;code&gt;GapWidth&lt;/code&gt; and &lt;code&gt;Overlap&lt;/code&gt; in the &lt;code&gt;Chart&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Add new fields &lt;code&gt;ShowDataTable&lt;/code&gt; and &lt;code&gt;ShowDataTableKeys&lt;/code&gt; fields in the &lt;code&gt;ChartPlotArea&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Add new field &lt;code&gt;Alignment&lt;/code&gt; in the &lt;code&gt;ChartAxis&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Add new field &lt;code&gt;DataLabel&lt;/code&gt; in the &lt;code&gt;ChartSeries&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Add new field &lt;code&gt;PageOrder&lt;/code&gt; for &lt;code&gt;PageLayoutOptions&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Add 2 new exported error variables: &lt;code&gt;ErrPageSetupAdjustTo&lt;/code&gt; and &lt;code&gt;ErrStreamSetColStyle&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Add 2 new exported enumerations: &lt;code&gt;HeaderFooterImagePositionType&lt;/code&gt; and &lt;code&gt;IgnoredErrorsType&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Add 2 new exported data types: &lt;code&gt;CalcPropsOptions&lt;/code&gt; and &lt;code&gt;HeaderFooterImageOptions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Add 2 new functions: &lt;code&gt;SetCalcProps&lt;/code&gt; and &lt;code&gt;GetCalcProps&lt;/code&gt; support setting and getting workbook calculation properties&lt;/li&gt;
&lt;li&gt;Add new &lt;code&gt;CultureNameJaJP&lt;/code&gt;, &lt;code&gt;CultureNameKoKR&lt;/code&gt; and &lt;code&gt;CultureNameZhTW&lt;/code&gt; enumeration values, support apply number format for the Japanese calendar years, the Korean Danki calendar and the Republic of China year, related issue 1885&lt;/li&gt;
&lt;li&gt;Add new function &lt;code&gt;AddHeaderFooterImage&lt;/code&gt; to support set graphics in a header and footer, related issue 1395&lt;/li&gt;
&lt;li&gt;Add new function &lt;code&gt;AddIgnoredErrors&lt;/code&gt; support to ignored error for a range of cells, related issue 2046&lt;/li&gt;
&lt;li&gt;Add new function &lt;code&gt;SetColStyle&lt;/code&gt; for streaming writer to support set columns style, related issue 2075&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; and &lt;code&gt;AddChartSheet&lt;/code&gt; function support set chart axis text direction and rotation, related issue 2025&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; and &lt;code&gt;AddChartSheet&lt;/code&gt; function support set gap width and overlap for column and bar chart, related issue 2033&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; and &lt;code&gt;AddChartSheet&lt;/code&gt; function support set the format of the chart series data label, related issue 2052&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; and &lt;code&gt;AddChartSheet&lt;/code&gt; function support set data table for chart, related issue 2117&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddFormControl&lt;/code&gt; function support set cell link for check box, related issue 2113&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;SetPageLayout&lt;/code&gt; function support set page order of page layout&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;DeletePicture&lt;/code&gt; function support delete one cell anchor image, related issue 2059&lt;/li&gt;
&lt;li&gt;An error will be return if the option value of the &lt;code&gt;SetPageLayout&lt;/code&gt; function is invalid&lt;/li&gt;
&lt;li&gt;Support adjust data validations cross multiple worksheets, related issue 2072&lt;/li&gt;
&lt;li&gt;Support apply number format with hash and zero place holder, related issue 2058&lt;/li&gt;
&lt;li&gt;Support apply number format with &lt;code&gt;?&lt;/code&gt; symbol&lt;/li&gt;
&lt;li&gt;Support to insert one cell anchor drawing object when specified the positioning as "oneCell", related issue 2002&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fix a v2.9.0 regression bug, corrupted workbook generated by open the workbook generated by stream writer, resolve issue 2015&lt;/li&gt;
&lt;li&gt;Fix redundant none type pattern fill generated, resolve issue 2014&lt;/li&gt;
&lt;li&gt;Fix missing vertical and horizontal border styles in some case, resolve issue 2048&lt;/li&gt;
&lt;li&gt;Fix conditional format's border styles missing in some case, resolve issue 2061&lt;/li&gt;
&lt;li&gt;Fix get pivot tables panic in some case, resolve issues 1954 and 2051&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;GetStyle&lt;/code&gt; function can not get &lt;code&gt;VertAlign&lt;/code&gt; format&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;CalcCellValue&lt;/code&gt; function subexpressions aren't correctly calculated in some case, resolve issue 2083&lt;/li&gt;
&lt;li&gt;Fix delete wrong images in some case which caused by image reference detection issue&lt;/li&gt;
&lt;li&gt;Fix cell default style doesn't override by none-zero row style when set row by stream writer&lt;/li&gt;
&lt;li&gt;Fix redundant &lt;code&gt;cols&lt;/code&gt; element generated by stream writer&lt;/li&gt;
&lt;li&gt;Fix panic on set chart title font, resolve issue 2102&lt;/li&gt;
&lt;li&gt;Fix panic on delete calc chain in some case&lt;/li&gt;
&lt;li&gt;Fix incorrect formula calculation result caused by shared formula parse error, resolve issue 2056&lt;/li&gt;
&lt;li&gt;Fix corrupted workbook generated when an inner ZIP64 file size exceeds 4GB&lt;/li&gt;
&lt;li&gt;Fix sheet name error in defined name after rename sheet, resolve issue 2126&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use a 3 times faster deepcopy library &lt;code&gt;github.com/tiendc/go-deepcopy&lt;/code&gt; instead of &lt;code&gt;github.com/mohae/deepcopy&lt;/code&gt;, related issue 2029&lt;/li&gt;
&lt;li&gt;Fix performance regression in v2.9.0, reduce trim cell value memory allocation for blank cells&lt;/li&gt;
&lt;li&gt;Improve performance for calculate formula when formula contains whole column and row reference&lt;/li&gt;
&lt;li&gt;Rows iterator speedup about 20%, memory allocation reduce about 10%&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Miscellaneous
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The dependencies module has been updated&lt;/li&gt;
&lt;li&gt;Unit tests and godoc updated&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://xuri.me/excelize" rel="noopener noreferrer"&gt;Documentation website&lt;/a&gt; with multilingual: Arabic, German, English, Spanish, French, Italian, Japanese, Korean, Portuguese, Russian, Chinese Simplified and Chinese Traditional, which has been updated.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/xuri/excelize-wasm" rel="noopener noreferrer"&gt;excelize-wasm&lt;/a&gt; NPM package release update for WebAssembly / JavaScript support&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/xuri/excelize-py" rel="noopener noreferrer"&gt;excelize&lt;/a&gt; PyPI package release update for Python&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Thank you
&lt;/h3&gt;

&lt;p&gt;Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;wushiling50&lt;/li&gt;
&lt;li&gt;imirkin (Ilia Mirkin)&lt;/li&gt;
&lt;li&gt;Juneezee (Eng Zer Jun)&lt;/li&gt;
&lt;li&gt;Arpelicy&lt;/li&gt;
&lt;li&gt;zhuhaicity (ZhuHaiCheng)&lt;/li&gt;
&lt;li&gt;xxf0512 (xxf)&lt;/li&gt;
&lt;li&gt;gypsy1234&lt;/li&gt;
&lt;li&gt;mengpromax (MengZhongYuan)&lt;/li&gt;
&lt;li&gt;hly-717&lt;/li&gt;
&lt;li&gt;kurtinge (Kurt Inge Smådal)&lt;/li&gt;
&lt;li&gt;IvanHristov98 (Ivan Hristov)&lt;/li&gt;
&lt;li&gt;artur-chopikian (Artur Chopikian)&lt;/li&gt;
&lt;li&gt;romanshevelev (Roman Shevelev)&lt;/li&gt;
&lt;li&gt;LZCZ&lt;/li&gt;
&lt;li&gt;hm3248&lt;/li&gt;
&lt;li&gt;moisespsena (Moises P. Sena)&lt;/li&gt;
&lt;li&gt;paolobarbolini (Paolo Barbolini)&lt;/li&gt;
&lt;li&gt;timesince&lt;/li&gt;
&lt;li&gt;shcabin&lt;/li&gt;
&lt;li&gt;tgulacsi (Tamás Gulácsi)&lt;/li&gt;
&lt;li&gt;R3dByt3 (R3dByt3)&lt;/li&gt;
&lt;li&gt;Now-Shimmer&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>go</category>
      <category>excel</category>
      <category>excelize</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Excelize 2.9.0 Released - Powerful open-source library for spreadsheet (Excel) document</title>
      <dc:creator>xuri</dc:creator>
      <pubDate>Wed, 16 Oct 2024 06:52:00 +0000</pubDate>
      <link>https://dev.to/xuri/excelize-290-released-powerful-open-source-library-for-spreadsheet-excel-document-2ee6</link>
      <guid>https://dev.to/xuri/excelize-290-released-powerful-open-source-library-for-spreadsheet-excel-document-2ee6</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57cb813igey3cv4fuomz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57cb813igey3cv4fuomz.png" alt="Excelize 2.9.0 Released" width="400" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/xuri/excelize" rel="noopener noreferrer"&gt;github.com/xuri/excelize&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are pleased to announce the release of version 2.9.0. Featured are a handful of new areas of functionality and numerous bug fixes.&lt;/p&gt;

&lt;p&gt;A summary of changes is available in the &lt;a href="https://github.com/xuri/excelize/releases/tag/v2.9.0" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;. A full list of changes is available in the changelog.&lt;/p&gt;

&lt;h2&gt;
  
  
  Release Notes
&lt;/h2&gt;




&lt;p&gt;The most notable changes in this release are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Breaking Change
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Change the data type for the &lt;code&gt;ConditionalFormatOptions&lt;/code&gt; structure field &lt;code&gt;Format&lt;/code&gt; as a pointer, resolve issue #1867&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Notable Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add new functions &lt;code&gt;DeleteSlicer&lt;/code&gt; and &lt;code&gt;GetSlicers&lt;/code&gt;, related issue #810&lt;/li&gt;
&lt;li&gt;Add new function &lt;code&gt;MoveSheet&lt;/code&gt; to support changing sheet order in the workbook, related issue #1076&lt;/li&gt;
&lt;li&gt;Add new &lt;code&gt;AutoFitIgnoreAspect&lt;/code&gt; field in the &lt;code&gt;GraphicOptions&lt;/code&gt; data type support for fill the cell with the image and ignore its aspect ratio&lt;/li&gt;
&lt;li&gt;Add new &lt;code&gt;TickLabelPosition&lt;/code&gt; field in the &lt;code&gt;ChartAxis&lt;/code&gt; data type support for set label position of the chart&lt;/li&gt;
&lt;li&gt;Add new fields &lt;code&gt;ShowAll&lt;/code&gt;, &lt;code&gt;InsertBlankRow&lt;/code&gt; and &lt;code&gt;NumFmt&lt;/code&gt; field in the &lt;code&gt;PivotTableField&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Add new fields &lt;code&gt;ClassicLayout&lt;/code&gt;, &lt;code&gt;FieldPrintTitles&lt;/code&gt; and &lt;code&gt;ItemPrintTitles&lt;/code&gt; in the &lt;code&gt;PivotTableOptions&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Introduce 2 new exported enumeration type &lt;code&gt;ChartTickLabelPositionType&lt;/code&gt; and &lt;code&gt;PictureInsertType&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Introduce new exported &lt;code&gt;ChartLineUnset&lt;/code&gt; enumeration value&lt;/li&gt;
&lt;li&gt;Introduce 4 constants &lt;code&gt;ExtURIDataField&lt;/code&gt;, &lt;code&gt;ExtURIPivotField&lt;/code&gt;, &lt;code&gt;ExtURIPivotFilter&lt;/code&gt; and &lt;code&gt;ExtURIPivotHierarchy&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Introduce new exported error variable &lt;code&gt;ErrPivotTableClassicLayout&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;MergeCell&lt;/code&gt; function support clear slave cells value when merging cells&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddDataValidation&lt;/code&gt;, &lt;code&gt;DeleteDataValidation&lt;/code&gt; and &lt;code&gt;GetCellStyle&lt;/code&gt; functions support concurrency safe, related issues #1825&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;GetDataValidations&lt;/code&gt; function support get data validations which storage in the extension lists, related issue #1835&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;SetSheetName&lt;/code&gt; function support case sensitivity, related issue #1856&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;GetPictureCells&lt;/code&gt; and &lt;code&gt;GetPictures&lt;/code&gt; functions support for get the cell images inserted by IMAGE formula function and absolute paths for pictures&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;SetCellHyperLink&lt;/code&gt; function support remove hyperlink by &lt;code&gt;None&lt;/code&gt; linkType, related issue #1940&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function support create combo chart with same types, related issue #1940&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function support set line type of scatter chart&lt;/li&gt;
&lt;li&gt;An error will be return if column header cell is empty in pivot table data range when create pivot table by &lt;code&gt;AddPivotTable&lt;/code&gt; function, related issue #1945&lt;/li&gt;
&lt;li&gt;Add support for applying number format expression with language/location tags and ID&lt;/li&gt;
&lt;li&gt;Add support for apply number format for time and duration cell value, related issue #2004&lt;/li&gt;
&lt;li&gt;New support formula function: DOLLAR&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Improve the Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Improve compatibility for apply number format, support apply number format with alignment, resolve issue #1847&lt;/li&gt;
&lt;li&gt;Improvement compatibility for the workbook internal part with a spreadsheet namespace prefix, resolve issue #1886&lt;/li&gt;
&lt;li&gt;Improve compatibility for the workbook internal media files with absolute path, resolve issue #1888&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fix a v2.8.1 regression bug, auto filter doesn't work in the LibreOffice, resolve issue #1830&lt;/li&gt;
&lt;li&gt;Fix a v2.8.1 regression bug, support to adjust data validation with multiple cell range, resolve issue #1831&lt;/li&gt;
&lt;li&gt;Fix a v2.8.1 regression bug, error on duplicate rows, if conditional formatting or data validation has multiple cell range reference&lt;/li&gt;
&lt;li&gt;Fix a v2.8.1 regression bug, incorrect cell value written if save multiple times, resolve issue #1906&lt;/li&gt;
&lt;li&gt;Fix a v2.8.1 regression bug, spark lines duplicate when creating spark lines on multiple sheets, resolve issue #1910&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;CalcCellValue&lt;/code&gt; function support calculate formula functions ISNUMBER, OR and FIND with matrix arguments, resolve issue #1819&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;CalcCellValue&lt;/code&gt; function calculation result round issue, resolve issue #1851&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;CalcCellValue&lt;/code&gt; function returns incorrect result of formula functions XIRR and XNPV, resolve issue #1989&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;RemoveCol&lt;/code&gt; returns error when deleting columns, resolve issue #1829&lt;/li&gt;
&lt;li&gt;Fix incorrect result data type of the DATE formula function, resolve issue #1833&lt;/li&gt;
&lt;li&gt;Fix panic on read workbook with internal row element without &lt;code&gt;r&lt;/code&gt; attribute&lt;/li&gt;
&lt;li&gt;Fix parentheses in formulas get cut out when inserting new columns or rows, resolve issue #1861&lt;/li&gt;
&lt;li&gt;Fix incorrect data validation escape result in some cases&lt;/li&gt;
&lt;li&gt;Fix some character can't be displayed in stream writer, resolve issue #1865&lt;/li&gt;
&lt;li&gt;Saving workbook with sorted internal part path to keep same hash of identical files and fix incorrect MIME type, resolve issue #1889&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;AddChart&lt;/code&gt; function set axis format doesn't work in combo chart, resolve issue #1921&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;AddChart&lt;/code&gt; function set incorrect primary axis titles position&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;AddChart&lt;/code&gt; function set secondary vertical axis title is not displayed, resolve issue #1926&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;AddChart&lt;/code&gt; function set line type of line chart does not work&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;GetPivotTables&lt;/code&gt; function returns incorrect data range, resolve issue #1937&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;GetStyle&lt;/code&gt; function panic when theme without &lt;code&gt;sysClr&lt;/code&gt;, resolve issue #1963&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;GetCellRichText&lt;/code&gt; function returns error when read cell without SST index, resolve issue #1999&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;SetSheetVisible&lt;/code&gt; function panic on none views sheet, resolve issue #1969&lt;/li&gt;
&lt;li&gt;Fix percent sign missing in formatted result for zero numeric cell value, resolve issue #1942&lt;/li&gt;
&lt;li&gt;Fix missing horizontal axis in scatter chart with negative values&lt;/li&gt;
&lt;li&gt;Fix missing shape macro missing after adjusted drawing object, resolve issue #1957&lt;/li&gt;
&lt;li&gt;Fix missing conditional formatting after remove column in some cases, resolve issue #1968&lt;/li&gt;
&lt;li&gt;Fix read cell value with decimal value round issue, resolve issue #1979&lt;/li&gt;
&lt;li&gt;Support to set cell value with an IEEE 754 "not-a-number" value or infinity, resolve issue #119&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fix v2.8.0 regression speed slowdown and memory usage increase issue&lt;/li&gt;
&lt;li&gt;Reduce memory usage for the &lt;code&gt;GetRows&lt;/code&gt; function, related issue #1874&lt;/li&gt;
&lt;li&gt;Optimize &lt;code&gt;ColumnNumberToName&lt;/code&gt; function performance, reduce about 50% memory usage and 50% time cost&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Miscellaneous
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The dependencies module has been updated&lt;/li&gt;
&lt;li&gt;Unit tests and godoc updated&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://xuri.me/excelize" rel="noopener noreferrer"&gt;Documentation website&lt;/a&gt; with multilingual: Arabic, German, English, Spanish, French, Japanese, Korean, Portuguese, Russian, Chinese Simplified and Chinese Traditional, which has been updated. Added Italian version of the document&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Thank you
&lt;/h3&gt;

&lt;p&gt;Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;mirgong (helloWorld)&lt;/li&gt;
&lt;li&gt;YueChenXu-Kimi (岳晨旭)&lt;/li&gt;
&lt;li&gt;JackMin1314 (陈王)&lt;/li&gt;
&lt;li&gt;paolobarbolini (Paolo Barbolini)&lt;/li&gt;
&lt;li&gt;iEvan-lhr (Evan lu)&lt;/li&gt;
&lt;li&gt;yetyear (yeahyear)&lt;/li&gt;
&lt;li&gt;ha5ky (hu5ky)&lt;/li&gt;
&lt;li&gt;lizhichao (vic)&lt;/li&gt;
&lt;li&gt;realzuojianxiang (realzuojianxiang)&lt;/li&gt;
&lt;li&gt;msackman (Matthew Sackman)&lt;/li&gt;
&lt;li&gt;yyle88 (yangyile-yyle88)&lt;/li&gt;
&lt;li&gt;yunkeweb (yunkeweb)&lt;/li&gt;
&lt;li&gt;iraj720 (Nima)&lt;/li&gt;
&lt;li&gt;jianxinhou&lt;/li&gt;
&lt;li&gt;barlevd&lt;/li&gt;
&lt;li&gt;18409615759 (nna)&lt;/li&gt;
&lt;li&gt;qijinkui (xiaokui)&lt;/li&gt;
&lt;li&gt;user1121114685 (联盟少侠)&lt;/li&gt;
&lt;li&gt;wangsongyan&lt;/li&gt;
&lt;li&gt;vsemichev (Vovka Morkovka)&lt;/li&gt;
&lt;li&gt;zhayt (Aybek)&lt;/li&gt;
&lt;li&gt;ShowerBandV (ShowerBandV)&lt;/li&gt;
&lt;li&gt;imink (Patrick Wang)&lt;/li&gt;
&lt;li&gt;samkeke (wxy)&lt;/li&gt;
&lt;li&gt;pjh591029530&lt;/li&gt;
&lt;li&gt;zhangyimingdatiancai&lt;/li&gt;
&lt;li&gt;wanghaochen2024&lt;/li&gt;
&lt;li&gt;centurion-hub&lt;/li&gt;
&lt;li&gt;peng (Zhang Zhipeng)&lt;/li&gt;
&lt;li&gt;slashdotdash (Ben Smith)&lt;/li&gt;
&lt;li&gt;ArcholSevier&lt;/li&gt;
&lt;li&gt;liuwangchao&lt;/li&gt;
&lt;li&gt;Zncl2222 (Jian Yu, Chen)&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>go</category>
      <category>excel</category>
      <category>excelize</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Excelize 2.8.1 Released - Powerful open-source library for spreadsheet (Excel) document</title>
      <dc:creator>xuri</dc:creator>
      <pubDate>Sun, 25 Feb 2024 19:32:01 +0000</pubDate>
      <link>https://dev.to/xuri/excelize-281-released-powerful-open-source-library-for-spreadsheet-excel-document-8go</link>
      <guid>https://dev.to/xuri/excelize-281-released-powerful-open-source-library-for-spreadsheet-excel-document-8go</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1fbu6hwwi3ehbnzvdex.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1fbu6hwwi3ehbnzvdex.png" alt="Excelize 2.8.1 Released" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/xuri/excelize" rel="noopener noreferrer"&gt;github.com/xuri/excelize&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are pleased to announce the release of version 2.8.1. Featured are a handful of new areas of functionality and numerous bug fixes.&lt;/p&gt;

&lt;p&gt;A summary of changes is available in the &lt;a href="https://github.com/xuri/excelize/releases/tag/v2.8.1" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;. A full list of changes is available in the &lt;a href="https://github.com/xuri/excelize/compare/v2.8.0...v2.8.1" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Release Notes
&lt;/h2&gt;

&lt;p&gt;The most notable changes in this release are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Breaking Change
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Upgrade requirements Go language version is 1.18 or later, for upgrade of dependency package &lt;code&gt;golang.org/x/net&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Change the data type for the &lt;code&gt;HeaderFooterOptions&lt;/code&gt; structure fields &lt;code&gt;AlignWithMargins&lt;/code&gt; and &lt;code&gt;ScaleWithDoc&lt;/code&gt; as a pointer, resolve issue #1645&lt;/li&gt;
&lt;li&gt;Remove unused exported data structure &lt;code&gt;ShapeColor&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Notable Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add new exported function &lt;code&gt;SetCellUint&lt;/code&gt;, related issue #1681&lt;/li&gt;
&lt;li&gt;Add new exported function &lt;code&gt;GetPictureCells&lt;/code&gt; for get all picture cells, related issue #1218&lt;/li&gt;
&lt;li&gt;Add new exported function &lt;code&gt;GetConditionalStyle&lt;/code&gt; for get the conditional format style definition, related issue #1690&lt;/li&gt;
&lt;li&gt;Add new exported function &lt;code&gt;GetHeaderFooter&lt;/code&gt; for get the worksheet header and footer&lt;/li&gt;
&lt;li&gt;Add new exported function &lt;code&gt;AddSlicer&lt;/code&gt; for adding table and pivot table slicers&lt;/li&gt;
&lt;li&gt;Add new exported function &lt;code&gt;GetPivotTables&lt;/code&gt; for get pivot tables&lt;/li&gt;
&lt;li&gt;Add new exported function &lt;code&gt;DeletePivotTable&lt;/code&gt; for delete pivot table&lt;/li&gt;
&lt;li&gt;Add a new &lt;code&gt;Name&lt;/code&gt; field in the &lt;code&gt;PivotTableOptions&lt;/code&gt; to support specify pivot table name&lt;/li&gt;
&lt;li&gt;New support 7 formula functions: DBCS, SEARCH, SEARCHB, TEXT, TEXTAFTER, TEXTBEFORE and xlfn.ANCHORARRAY&lt;/li&gt;
&lt;li&gt;Add export &lt;code&gt;ChartLineType&lt;/code&gt; enumeration to specify the chart line type, related issue #1706&lt;/li&gt;
&lt;li&gt;Add new &lt;code&gt;Border&lt;/code&gt; field in the &lt;code&gt;Chart&lt;/code&gt; data type to set the chart area border&lt;/li&gt;
&lt;li&gt;Add new &lt;code&gt;Type&lt;/code&gt; field in the &lt;code&gt;ChartLine&lt;/code&gt; type to set the line type&lt;/li&gt;
&lt;li&gt;Add new exported source relationship and namespace &lt;code&gt;NameSpaceSpreadSheetXR10&lt;/code&gt;, &lt;code&gt;ContentTypeSlicer&lt;/code&gt;, &lt;code&gt;ContentTypeSlicerCache&lt;/code&gt;, and &lt;code&gt;SourceRelationshipSlicer&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Add new exported extended URI &lt;code&gt;ExtURIPivotCacheDefinition&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Allow dot character in the defined name, table name, or pivot table name&lt;/li&gt;
&lt;li&gt;Keep all cells value in the table range when deleting table&lt;/li&gt;
&lt;li&gt;Support format cell value with fraction number format code&lt;/li&gt;
&lt;li&gt;Support delete image files from the workbook internally when deleting pictures to reduce generated workbook size and resolve potential security issues&lt;/li&gt;
&lt;li&gt;Support set the height and width for the comment box, related issue #1688&lt;/li&gt;
&lt;li&gt;Support update conditional formatting, data validations, defined names, drawing objects, formula reference and volatile dependencies on inserting/deleting columns/rows, related issues #1306 and #1615&lt;/li&gt;
&lt;li&gt;Support 6 new kinds of conditional formatting types: text, blanks, no blanks, errors, no errors and time period&lt;/li&gt;
&lt;li&gt;Support calculate formula with multiple dash arithmetic symbol&lt;/li&gt;
&lt;li&gt;Support copy conditional format and data validation on duplicate row, related issue #1729&lt;/li&gt;
&lt;li&gt;Support unset custom row height if the height value is -1 when using the &lt;code&gt;SetRowHeight&lt;/code&gt; function&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;SetRowHeight&lt;/code&gt; function will return an error if given an invalid row height value&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function support set the data labels position for the chart, related issue #1704&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function support set solid color or transparent fill for chart area, plot area, and maker, add a new field &lt;code&gt;Fill&lt;/code&gt; in &lt;code&gt;Chart&lt;/code&gt;, &lt;code&gt;ChartPlotArea&lt;/code&gt;, and &lt;code&gt;ChartMarker&lt;/code&gt; data type, related issue #1786&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function support set chart axis font family, size and strike style, related issue #1809&lt;/li&gt;
&lt;li&gt;Add new field &lt;code&gt;DataLabelPosition&lt;/code&gt; in the &lt;code&gt;ChartSeries&lt;/code&gt; data type, support to sets the position of the chart series data label&lt;/li&gt;
&lt;li&gt;Add new field &lt;code&gt;BubbleSize&lt;/code&gt; in the &lt;code&gt;Chart&lt;/code&gt; data type, support set the bubble size in all data series for the bubble chart or 3D bubble chart&lt;/li&gt;
&lt;li&gt;Add new exported &lt;code&gt;ChartDataLabelPositionType&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;GetPictureCells&lt;/code&gt; and &lt;code&gt;GetPictures&lt;/code&gt; function support get embedded cell images created by Kingsoft WPS™ Office, related issue #664&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;SetConditionalFormat&lt;/code&gt; function support set conditional formatting with multiple cell ranges, related issue #1783&lt;/li&gt;
&lt;li&gt;Support to update defined names reference when rename worksheet, related issue #1792&lt;/li&gt;
&lt;li&gt;Add new &lt;code&gt;GetBaseColor&lt;/code&gt; function support get the preferred hex color code, related issue #1794&lt;/li&gt;
&lt;li&gt;The calculation engine support date and formula type cells, related issue #1807&lt;/li&gt;
&lt;li&gt;Cell value reading functions inherit the &lt;code&gt;Options&lt;/code&gt; settings of the &lt;code&gt;OpenReader&lt;/code&gt;, related issue #1815&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Improve the Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Improve compatibility for absolute path drawing part&lt;/li&gt;
&lt;li&gt;Improve compatibility for workbook internal tab ratio property value&lt;/li&gt;
&lt;li&gt;Improve compatibility with empty custom number format code&lt;/li&gt;
&lt;li&gt;Improve compatibility with the viewer which doesn't support default theme part namespace, related issue #1694&lt;/li&gt;
&lt;li&gt;Improve delete cell comment shape compatibility with KingSoft WPS™ Office, related issue #1789&lt;/li&gt;
&lt;li&gt;Saving workbook with sorted internal part path, make identically created workbooks hash checksum is same, related issue #1732&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add check for MID and MIDB formula functions num_chars arguments, prevent panic on specifying a negative number, resolve issue #1647&lt;/li&gt;
&lt;li&gt;Fix empty calculate result with numeric arguments in LEN, LOWER, PROPER, REPT, UPPER, and IF formula functions&lt;/li&gt;
&lt;li&gt;Fix calculate formula functions CHITEST and MMULT panic in some cases&lt;/li&gt;
&lt;li&gt;Fix a v2.8.0 regression bug, error on set print area and print titles with built-in special defined name&lt;/li&gt;
&lt;li&gt;Fix a v2.8.0 regression bug, corrupted workbooks generated by improving compatibility with internally indexed color and MRU colors styles parts&lt;/li&gt;
&lt;li&gt;Fix a v2.8.0 regression bug, number format code apply result was empty, resolve issue #1658&lt;/li&gt;
&lt;li&gt;Fix a v2.7.1 regression bug, the bubble is hidden in the bubble or 3D bubble chart&lt;/li&gt;
&lt;li&gt;Fixed panic on &lt;code&gt;AutoFilter&lt;/code&gt; by adding nil pointer guard for local sheet ID, resolve issue #1655&lt;/li&gt;
&lt;li&gt;Fix corrupted workbooks generated when adding tables in some cases&lt;/li&gt;
&lt;li&gt;Fix incorrect time number format result, resolve issue #1661&lt;/li&gt;
&lt;li&gt;Supports getting formula string cell value, resolve issue #1665&lt;/li&gt;
&lt;li&gt;Fix incorrect table ID generated in the workbook which contains single table cells&lt;/li&gt;
&lt;li&gt;Fix missing relationship parts in the content types in some cases&lt;/li&gt;
&lt;li&gt;Upgrade number format parser to fix missing literal tokens in some cases&lt;/li&gt;
&lt;li&gt;Update built-in zh-cn and zh-tw language number format&lt;/li&gt;
&lt;li&gt;Fix the incorrect custom number format ID allocated, resolve issue #1677&lt;/li&gt;
&lt;li&gt;Fix updating a table's range by removing it and creating it again doesn't work, resolve issue #1682&lt;/li&gt;
&lt;li&gt;Fix a potential issue that stream reader temporary files can not be clear, resolve issue #1680&lt;/li&gt;
&lt;li&gt;Fix incorrect formula calculation result in some cases, resolve issue #1681&lt;/li&gt;
&lt;li&gt;Fix concurrency race conditions on get cell value, resolve issue #1687&lt;/li&gt;
&lt;li&gt;Fix some format missing on get style definition, resolve issue #1708&lt;/li&gt;
&lt;li&gt;Fix number format scientific notation zero fill issues, resolve issue #1710&lt;/li&gt;
&lt;li&gt;Fix panic on read workbook with internal row element without &lt;code&gt;r&lt;/code&gt; attribute, resolve issue #1723&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;GetCellRichText&lt;/code&gt; returns error on getting inline rich text cells&lt;/li&gt;
&lt;li&gt;Fix invalid shared string table index on set cell value in some cases&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;GetConditionalFormats&lt;/code&gt; panic on get conditional format without above average rules, resolve issue #1745&lt;/li&gt;
&lt;li&gt;Fix incorrect adjust merged cells on remove rows, resolve issue #1749&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;SetConditionalFormat&lt;/code&gt; function creates incorrect multiple conditional formats rules priority, resolve issue #1770&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;GetConditionalFormats&lt;/code&gt; function doesn't return gradient data bar rule, resolve issue #1769&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;GetStyle&lt;/code&gt; or &lt;code&gt;GetConditionalStyle&lt;/code&gt; function to returns incorrect &lt;code&gt;DecimalPlaces&lt;/code&gt; field value, resolve issue #1777&lt;/li&gt;
&lt;li&gt;Fix the &lt;code&gt;CalcCellValue&lt;/code&gt; function does not return raw value when enable &lt;code&gt;RawCellValue&lt;/code&gt;, resolve issue #1803&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Improves performance for adding and removing pivot table and images&lt;/li&gt;
&lt;li&gt;Reduce memory consumption by trimming the rows and cells, resolve issue #1712&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Miscellaneous
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The dependencies module has been updated&lt;/li&gt;
&lt;li&gt;Unit tests and godoc updated&lt;/li&gt;
&lt;li&gt;Documentation website with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Thank you
&lt;/h3&gt;

&lt;p&gt;Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fnickels (Francis Nickels III)&lt;/li&gt;
&lt;li&gt;m12r (Matthias Endler)&lt;/li&gt;
&lt;li&gt;Abdelaziz-Ouhammou&lt;/li&gt;
&lt;li&gt;Juneezee (Eng Zer Jun)&lt;/li&gt;
&lt;li&gt;yicixin (壹次心)&lt;/li&gt;
&lt;li&gt;TeeRenJing (rjtee)&lt;/li&gt;
&lt;li&gt;phperic (magicrabbit)&lt;/li&gt;
&lt;li&gt;kjushka (Anton Petrov)&lt;/li&gt;
&lt;li&gt;krstak (Marko Krstic)&lt;/li&gt;
&lt;li&gt;lpxxn (Nick)&lt;/li&gt;
&lt;li&gt;ByteFlyCoding&lt;/li&gt;
&lt;li&gt;yangliyl (Yang Li)&lt;/li&gt;
&lt;li&gt;15535382838&lt;/li&gt;
&lt;li&gt;TajangSec (Tajang)&lt;/li&gt;
&lt;li&gt;lujin1 (lujin)&lt;/li&gt;
&lt;li&gt;parkoo (Tian)&lt;/li&gt;
&lt;li&gt;ZhangXiao1024 (ZX)&lt;/li&gt;
&lt;li&gt;zcgly&lt;/li&gt;
&lt;li&gt;bramvbilsen (Bram Vanbilsen)&lt;/li&gt;
&lt;li&gt;user65536&lt;/li&gt;
&lt;li&gt;tianaiyouqing (天爱有情)&lt;/li&gt;
&lt;li&gt;cuishuang (cui fliter)&lt;/li&gt;
&lt;li&gt;CooolNv (Xuesong)&lt;/li&gt;
&lt;li&gt;yuegu520&lt;/li&gt;
&lt;li&gt;oneweek20169902 (li)&lt;/li&gt;
&lt;li&gt;3zmx&lt;/li&gt;
&lt;li&gt;327674413&lt;/li&gt;
&lt;li&gt;melf-xyzh (MELF晓宇)&lt;/li&gt;
&lt;li&gt;L4nn15ter&lt;/li&gt;
&lt;li&gt;rememberher (Jerry)&lt;/li&gt;
&lt;li&gt;ooooooobh (cherry)&lt;/li&gt;
&lt;li&gt;xxxwang1983&lt;/li&gt;
&lt;li&gt;funa12&lt;/li&gt;
&lt;li&gt;coolbit&lt;/li&gt;
&lt;li&gt;taitaking (zhukewen)&lt;/li&gt;
&lt;li&gt;kewenof&lt;/li&gt;
&lt;li&gt;ivekkairi (Vivek Kairi)&lt;/li&gt;
&lt;li&gt;edwardfward (Ed)&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>go</category>
      <category>excel</category>
      <category>excelize</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Excelize 2.8.0 Released - Powerful open-source library for spreadsheet (Excel) document</title>
      <dc:creator>xuri</dc:creator>
      <pubDate>Sun, 27 Aug 2023 16:16:00 +0000</pubDate>
      <link>https://dev.to/xuri/excelize-280-released-powerful-open-source-library-for-spreadsheet-excel-document-5a0d</link>
      <guid>https://dev.to/xuri/excelize-280-released-powerful-open-source-library-for-spreadsheet-excel-document-5a0d</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff29cbu6njt0mk2ppuaia.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff29cbu6njt0mk2ppuaia.jpg" alt="Excelize 2.8.0 Released - Powerful open-source library for spreadsheet (Excel) document" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/xuri/excelize" rel="noopener noreferrer"&gt;github.com/xuri/excelize&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are pleased to announce the release of version 2.8.0. Featured are a handful of new areas of functionality and numerous bug fixes.&lt;/p&gt;

&lt;p&gt;A summary of changes is available in the &lt;a href="https://github.com/xuri/excelize/releases/tag/v2.8.0" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;. A full list of changes is available in the &lt;a href="https://github.com/xuri/excelize/compare/v2.7.1...v2.8.0" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Release Notes
&lt;/h2&gt;

&lt;p&gt;The most notable changes in this release are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Breaking Change
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Rename exported variable &lt;code&gt;ErrTableNameLength&lt;/code&gt; to &lt;code&gt;ErrNameLength&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rename exported type &lt;code&gt;PaneOptions&lt;/code&gt; to &lt;code&gt;Selection&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rename the &lt;code&gt;Runs&lt;/code&gt; field to &lt;code&gt;Paragraph&lt;/code&gt; in the exported &lt;code&gt;Comment&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Remove the &lt;code&gt;Lang&lt;/code&gt; field in the &lt;code&gt;Style&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Removed exported &lt;code&gt;ChartTitle&lt;/code&gt; data type, and using the &lt;code&gt;RichTextRun&lt;/code&gt; data type instead of it&lt;/li&gt;
&lt;li&gt;Changed the data type for the &lt;code&gt;DecimalPlaces&lt;/code&gt; to pointer of integer&lt;/li&gt;
&lt;li&gt;Change the default point to pixels conversion factor, resolve issues #279 and #1536&lt;/li&gt;
&lt;li&gt;Change the &lt;code&gt;AddShape&lt;/code&gt; function signature: &lt;code&gt;func (f *File) AddShape(sheet, cell string, opts *Shape) error&lt;/code&gt; to &lt;code&gt;func (f *File) AddShape(sheet string, opts *Shape) error&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Notable Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add new exported error variables &lt;code&gt;ErrExistsTableName&lt;/code&gt; and &lt;code&gt;ErrorFormControlValue&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Add new options &lt;code&gt;ShortDatePattern&lt;/code&gt;, &lt;code&gt;LongDatePattern&lt;/code&gt;, &lt;code&gt;LongTimePattern&lt;/code&gt; and &lt;code&gt;CultureInfo&lt;/code&gt; in the &lt;code&gt;Options&lt;/code&gt; data type, related issue #1199&lt;/li&gt;
&lt;li&gt;Add new exported data type &lt;code&gt;CultureName&lt;/code&gt; enumeration for country code&lt;/li&gt;
&lt;li&gt;New functions &lt;code&gt;GetTables&lt;/code&gt; and &lt;code&gt;DeleteTable&lt;/code&gt;support to get and remove tables, related issues #674 and #1454&lt;/li&gt;
&lt;li&gt;New function &lt;code&gt;GetStyle&lt;/code&gt; support to get style definitions, related issues #314, #1520 and #1521&lt;/li&gt;
&lt;li&gt;Support applying cell value with placeholder, padding, rounds numbers, currency, accounting and switches argument number format, and support applying date and time number format for 812 language tags, related issue #660&lt;/li&gt;
&lt;li&gt;New support 10 formula functions: ARRAYTOTEXT, FORECAST, FORECAST.LINEAR, FREQUENCY, INTERCEPT, ODDFYIELD, ODDLPRICE, ODDLYIELD, PROB, VALUETOTEXT&lt;/li&gt;
&lt;li&gt;Add file path length limitation details in the error message&lt;/li&gt;
&lt;li&gt;New function &lt;code&gt;GetPanes&lt;/code&gt; support to get sheet panes and view selection&lt;/li&gt;
&lt;li&gt;New functions &lt;code&gt;AddFormControl&lt;/code&gt;, &lt;code&gt;GetFormControls&lt;/code&gt; and &lt;code&gt;DeleteFormControl&lt;/code&gt; support to form controls, related issues #301 and #1169&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function support set primary titles, related issue #1553&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function support creating chart with a secondary series axis, related issue #518&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function support formatting and setting rich text titles for the chart, related issue #1588&lt;/li&gt;
&lt;li&gt;Add check for shape type for the &lt;code&gt;AddShape&lt;/code&gt; function, an error will be returned if no shape type is specified&lt;/li&gt;
&lt;li&gt;Support read cell values formatted by the Japanese calendar number format, related issue #1590&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;GetPictures&lt;/code&gt; function support read one cell anchor pictures, related issue #1585&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;NewConditionalStyle&lt;/code&gt; function support to create a conditional format with number format and protection, related issue #1610&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Improve the Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Support checking cell value length with multi-bytes characters, related issue #1517&lt;/li&gt;
&lt;li&gt;Prevent create duplicate tables and defined name with the same name&lt;/li&gt;
&lt;li&gt;Improve the cell comment box shape size compatibility with KingSoft WPS&lt;/li&gt;
&lt;li&gt;Support fallback to default column width in sheet format property, related issue #1536&lt;/li&gt;
&lt;li&gt;Made case in-sensitive for internal worksheet XML path to improve compatibility, related issue #1591&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Escape XML characters after checking cell value length, fix stream writer generated file corrupted, resolve issues #1518, #1519 and #1530&lt;/li&gt;
&lt;li&gt;Fix incorrect comment box size for multi-line plain text comments&lt;/li&gt;
&lt;li&gt;Preventing format text cell value as a numeric, resolve issues #1523, #1528 and #1533&lt;/li&gt;
&lt;li&gt;Fix race conditions for concurrency safety functions&lt;/li&gt;
&lt;li&gt;Fix incorrect round millisecond for the date time&lt;/li&gt;
&lt;li&gt;Fix incorrect number formatted result for date and time with 12 hours at AM&lt;/li&gt;
&lt;li&gt;Fix incorrect formula functions SUMIFS and AVERAGEIFS result, resolve issue #1564&lt;/li&gt;
&lt;li&gt;Fix basic arithmetic operator priority issues in the calculating engine, resolve issue #1599&lt;/li&gt;
&lt;li&gt;Fix across worksheet reference issue for the formula calculation engine&lt;/li&gt;
&lt;li&gt;Fix adjust table issue when after removing rows, resolve issue #1539&lt;/li&gt;
&lt;li&gt;Support to get multiple images in one cell, resolve issue #1548&lt;/li&gt;
&lt;li&gt;Fix the added picture position was incorrect in some cases, resolve issue #1560&lt;/li&gt;
&lt;li&gt;Support adjusting the formula when inserting columns and rows, fix the workbook corruption caused by inserting columns or rows caused, resolve issue #1565&lt;/li&gt;
&lt;li&gt;Formula function CONCAT, CONCATENATE support concatenation of multiple cell values, resolve issue #1569&lt;/li&gt;
&lt;li&gt;Fix incorrect formula calculate results on a nested argument function which returns a numeric result, resolve issue #1582&lt;/li&gt;
&lt;li&gt;Fix internal graphic object counter issues caused added picture was duplicated, resolve issue #1584&lt;/li&gt;
&lt;li&gt;Fix read date time cell result was incorrectly caused by hours rounding issue, resolve issue #1587&lt;/li&gt;
&lt;li&gt;Fix panic on getting merged cells with the same start and end axis&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Optimizing regexp calls to improve performance, related issue #1532&lt;/li&gt;
&lt;li&gt;This avoid unnecessary byte/string conversion, related issue #1541&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Miscellaneous
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The dependencies module has been updated&lt;/li&gt;
&lt;li&gt;Simplify variable declaration and error return statements&lt;/li&gt;
&lt;li&gt;Remove the built-in language number format code mapping with Unicode values&lt;/li&gt;
&lt;li&gt;Remove the internal &lt;code&gt;xlsxTabColor&lt;/code&gt; data type, using the &lt;code&gt;xlsxColor&lt;/code&gt; data type instead of &lt;code&gt;xlsxTabColor&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Unit tests and godoc updated&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://xuri.me/excelize" rel="noopener noreferrer"&gt;Documentation website&lt;/a&gt; with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Thank you
&lt;/h3&gt;

&lt;p&gt;Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IAkumaI (Valery Ozarnichuk)&lt;/li&gt;
&lt;li&gt;sillydong (Chen Zhidong)&lt;/li&gt;
&lt;li&gt;fudali113 (fudali)&lt;/li&gt;
&lt;li&gt;Juneezee (Eng Zer Jun)&lt;/li&gt;
&lt;li&gt;joehan109&lt;/li&gt;
&lt;li&gt;yicixin (壹次心)&lt;/li&gt;
&lt;li&gt;vb6iscool&lt;/li&gt;
&lt;li&gt;chengcxy (chengxinyao)&lt;/li&gt;
&lt;li&gt;lidp20&lt;/li&gt;
&lt;li&gt;JDavidVR (David)&lt;/li&gt;
&lt;li&gt;fsfsx&lt;/li&gt;
&lt;li&gt;cnmlgbgithub&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>go</category>
      <category>excel</category>
      <category>excelize</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Excelize 2.7.1 Released - Powerful open-source library for spreadsheet (Excel) document</title>
      <dc:creator>xuri</dc:creator>
      <pubDate>Sun, 09 Apr 2023 16:23:00 +0000</pubDate>
      <link>https://dev.to/xuri/excelize-271-released-powerful-open-source-library-for-spreadsheet-excel-document-4l29</link>
      <guid>https://dev.to/xuri/excelize-271-released-powerful-open-source-library-for-spreadsheet-excel-document-4l29</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdqtk5s7o6b2wpwggjzqe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdqtk5s7o6b2wpwggjzqe.png" alt="Excelize 2.7.1 Released" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/xuri/excelize" rel="noopener noreferrer"&gt;github.com/xuri/excelize&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;A summary of changes is available in the &lt;a href="https://github.com/xuri/excelize/releases/tag/v2.7.1" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;. A full list of changes is available in the &lt;a href="https://github.com/xuri/excelize/compare/v2.7.0...v2.7.1" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Release Notes
&lt;/h2&gt;

&lt;p&gt;The most notable changes in this release are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Breaking Change
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Remove the &lt;code&gt;Color&lt;/code&gt; field in the &lt;code&gt;ChartLine&lt;/code&gt; data type&lt;/li&gt;
&lt;li&gt;Replace the data type &lt;code&gt;ShapeParagraph&lt;/code&gt; with &lt;code&gt;RichTextRun&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Remove the &lt;code&gt;Color&lt;/code&gt; field from the type &lt;code&gt;Shape&lt;/code&gt;, and uses the &lt;code&gt;Fill&lt;/code&gt; instead of it&lt;/li&gt;
&lt;li&gt;Remove the exported type &lt;code&gt;AutoFilterListOptions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rename the exported type &lt;code&gt;TableOptions&lt;/code&gt; to &lt;code&gt;Table&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddChart&lt;/code&gt; function require using &lt;code&gt;ChartType&lt;/code&gt; enumeration value to specify the chart type&lt;/li&gt;
&lt;li&gt;Change 7 functions signature:

&lt;ul&gt;
&lt;li&gt;Change the &lt;code&gt;func (f *File) AutoFilter(sheet, rangeRef string, opts *AutoFilterOptions) error&lt;/code&gt; to &lt;code&gt;func (f *File) AutoFilter(sheet, rangeRef string, opts []AutoFilterOptions) error&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Change the &lt;code&gt;func (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error&lt;/code&gt; to &lt;code&gt;func (f *File) AddPictureFromBytes(sheet, cell string, pic *Picture) error&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Change the &lt;code&gt;func (f *File) GetPicture(sheet, cell string) (string, []byte, error)&lt;/code&gt; to &lt;code&gt;func (f *File) GetPictures(sheet, cell string) ([]Picture, error)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Change the &lt;code&gt;func (f *File) AddVBAProject(bin string) error&lt;/code&gt; to &lt;code&gt;func (f *File) AddVBAProject(file []byte) error&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Change the &lt;code&gt;func (f *File) GetComments() (map[string][]Comment, error)&lt;/code&gt; to &lt;code&gt;func (f *File) GetComments(sheet string) ([]Comment, error)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Change the &lt;code&gt;func (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error&lt;/code&gt; to &lt;code&gt;func (f *File) AddTable(sheet string, table *Table) error&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Change the &lt;code&gt;func (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error&lt;/code&gt; to &lt;code&gt;func (sw *StreamWriter) AddTable(table *Table) error&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Notable Features
&lt;/h3&gt;

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

&lt;h3&gt;
  
  
  Improve the Compatibility
&lt;/h3&gt;

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

&lt;h3&gt;
  
  
  Bug Fixes
&lt;/h3&gt;

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

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Improve performance for apply number format with month name, related issue #1455&lt;/li&gt;
&lt;li&gt;Speed up for checking merged cells, related issue #1448&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Miscellaneous
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A pure WebAssembly / Javascript port of Go Excelize library named &lt;a href="https://github.com/xuri/excelize-wasm" rel="noopener noreferrer"&gt;excelize-wasm&lt;/a&gt; NPM package has been production-ready use&lt;/li&gt;
&lt;li&gt;The dependencies module has been updated&lt;/li&gt;
&lt;li&gt;Unit tests and godoc updated&lt;/li&gt;
&lt;li&gt;Using the specialized name in variables and functions&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://xuri.me/excelize" rel="noopener noreferrer"&gt;Documentation website&lt;/a&gt; with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Thank you
&lt;/h3&gt;

&lt;p&gt;Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;liron-l (Liron Levin)&lt;/li&gt;
&lt;li&gt;nathj07 (Nathan Davies)&lt;/li&gt;
&lt;li&gt;Josh-Weston (Josh Weston)&lt;/li&gt;
&lt;li&gt;jaby&lt;/li&gt;
&lt;li&gt;FlowingSPDG (Shugo Kawamura)&lt;/li&gt;
&lt;li&gt;barismar (Baris Mar Aziz)&lt;/li&gt;
&lt;li&gt;doingNobb (张涛)&lt;/li&gt;
&lt;li&gt;rpoetrap (Rizki Putra)&lt;/li&gt;
&lt;li&gt;huangshaokun&lt;/li&gt;
&lt;li&gt;CHANTXU64 (ChantXu64)&lt;/li&gt;
&lt;li&gt;playGitboy&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>go</category>
      <category>excel</category>
      <category>excelize</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Excelize 2.7.0 Released - Go language API for spreadsheets (Excel) files</title>
      <dc:creator>xuri</dc:creator>
      <pubDate>Sun, 08 Jan 2023 16:19:00 +0000</pubDate>
      <link>https://dev.to/xuri/excelize-270-released-go-language-api-for-spreadsheets-excel-files-9en</link>
      <guid>https://dev.to/xuri/excelize-270-released-go-language-api-for-spreadsheets-excel-files-9en</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0nsg6y1ztc4yixsypqfc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0nsg6y1ztc4yixsypqfc.png" alt="Go Language Open Source Excel Library Excelize 2.7.0 Released" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/xuri/excelize" rel="noopener noreferrer"&gt;github.com/xuri/excelize&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;A summary of changes is available in the &lt;a href="https://github.com/xuri/excelize/releases/tag/v2.7.0" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;. A full list of changes is available in the &lt;a href="https://github.com/xuri/excelize/compare/v2.6.1...v2.7.0" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Release Notes
&lt;/h2&gt;

&lt;p&gt;The most notable changes in this release are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Breaking Change
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Upgrade requirements Go language version is 1.16 or later, for migration of deprecation package &lt;code&gt;ioutil&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Checking and return error for invalid sheet name instead of trim invalid characters&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;GetCellStyle&lt;/code&gt; function no longer return master cell style of the merge cell range&lt;/li&gt;
&lt;li&gt;Rename 5 exported data types and error constant:

&lt;ul&gt;
&lt;li&gt;Rename &lt;code&gt;PivotTableOption&lt;/code&gt; to &lt;code&gt;PivotTableOptions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rename &lt;code&gt;FormatHeaderFooter&lt;/code&gt; to &lt;code&gt;HeaderFooterOptions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rename &lt;code&gt;FormatSheetProtection&lt;/code&gt; to &lt;code&gt;SheetProtectionOptions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rename &lt;code&gt;SparklineOption&lt;/code&gt; to &lt;code&gt;SparklineOptions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rename &lt;code&gt;ErrExistsWorksheet&lt;/code&gt; to &lt;code&gt;ErrExistsSheet&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Remove 54 exported types, get more details from the release page on the official documentation website&lt;/li&gt;

&lt;li&gt;Change 21 functions signature, get more details from the release page on the official documentation website

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;SetPageLayout&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GetPageLayout&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SetPageMargins&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GetPageMargins&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GetSheetIndex&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SetSheetName&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GetSheetVisible&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DeleteSheet&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NewSheet&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NewConditionalStyle&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NewStyle&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AddChart&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AddChartSheet&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AddShape&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AddPicture&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AddPictureFromBytes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;AddTable&lt;/code&gt; and stream mode &lt;code&gt;AddTable&lt;/code&gt; function&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AutoFilter&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SetPanes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SetConditionalFormat&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Introduce new function to instead of existing functions:

&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;SetSheetProps&lt;/code&gt; instead of &lt;code&gt;SetSheetPrOptions&lt;/code&gt; and &lt;code&gt;SetSheetFormatPr&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;GetSheetProps&lt;/code&gt; instead of &lt;code&gt;GetSheetPrOptions&lt;/code&gt; and &lt;code&gt;GetSheetFormatPr&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;SetSheetView&lt;/code&gt; instead of &lt;code&gt;SetSheetViewOptions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;GetSheetView&lt;/code&gt; instead of &lt;code&gt;GetSheetViewOptions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;SetWorkbookProps&lt;/code&gt; instead of &lt;code&gt;SetWorkbookPrOptions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;GetWorkbookProps&lt;/code&gt; instead of &lt;code&gt;GetWorkbookPrOptions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;InsertRows&lt;/code&gt; instead of &lt;code&gt;InsertRow&lt;/code&gt; for support inserting multiple rows at once&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;InsertCols&lt;/code&gt; instead of &lt;code&gt;InsertCol&lt;/code&gt; for support inserting multiple columns at once&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Add &lt;code&gt;CellTypeFormula&lt;/code&gt;, &lt;code&gt;CellTypeInlineString&lt;/code&gt;, &lt;code&gt;CellTypeSharedString&lt;/code&gt; and remove &lt;code&gt;CellTypeString&lt;/code&gt; in &lt;code&gt;CellType&lt;/code&gt; enumeration&lt;/li&gt;

&lt;li&gt;The parameter has been changed for the &lt;code&gt;AddComment&lt;/code&gt; function, support create rich-text in comments, related issue #1204&lt;/li&gt;

&lt;li&gt;Remove internal error log print, an error will be returned when XML deserialize error, add error return value for the &lt;code&gt;GetComments&lt;/code&gt;, &lt;code&gt;GetDefaultFont&lt;/code&gt; and &lt;code&gt;SetDefaultFont&lt;/code&gt; functions&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Notable Features
&lt;/h3&gt;

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

&lt;h3&gt;
  
  
  Improve the Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Stream writer writes inline string type for string cell value, related issue #1377&lt;/li&gt;
&lt;li&gt;Skip empty rows when saving the spreadsheet to reduce file size, related issue #1383&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Bug Fixes
&lt;/h3&gt;

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

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Improve performance for stream writer merging cells, time cost decrease over 90% and reduce memory usage by about 86% at most&lt;/li&gt;
&lt;li&gt;Improving performance for stream writer &lt;code&gt;SetRow&lt;/code&gt; function, reduces memory usage over and speedup about 19%&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Miscellaneous
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The dependencies module has been updated&lt;/li&gt;
&lt;li&gt;Unit tests and godoc updated&lt;/li&gt;
&lt;li&gt;Using the specialized name in variables and functions&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://xuri.me/excelize" rel="noopener noreferrer"&gt;Documentation website&lt;/a&gt; with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Thank you
&lt;/h3&gt;

&lt;p&gt;Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:&lt;/p&gt;

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

</description>
      <category>go</category>
      <category>excel</category>
      <category>xlsx</category>
    </item>
    <item>
      <title>Excelize 2.6.1 Released - Go language API for spreadsheets (Excel) files</title>
      <dc:creator>xuri</dc:creator>
      <pubDate>Sun, 21 Aug 2022 16:27:29 +0000</pubDate>
      <link>https://dev.to/xuri/excelize-261-released-go-language-api-for-spreadsheets-excel-files-10kn</link>
      <guid>https://dev.to/xuri/excelize-261-released-go-language-api-for-spreadsheets-excel-files-10kn</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdm6q15w0cij02j5c7ptl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdm6q15w0cij02j5c7ptl.png" alt="Excelize 2.6.1 Released - Go language API for spreadsheets (Excel) files" width="800" height="531"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/xuri/excelize" rel="noopener noreferrer"&gt;github.com/xuri/excelize&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are pleased to announce the release of version 2.6.1. Featured are a handful of new areas of functionality and numerous bug fixes.&lt;/p&gt;

&lt;p&gt;A summary of changes is available in the &lt;a href="https://github.com/xuri/excelize/releases/tag/v2.6.1" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;. A full list of changes is available in the &lt;a href="https://github.com/xuri/excelize/compare/v2.6.0...v2.6.1" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Release Notes
&lt;/h2&gt;

&lt;p&gt;The most notable changes in this release are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Rename exported type &lt;code&gt;TabColor&lt;/code&gt; to &lt;code&gt;TabColorRGB&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rename exported constant &lt;code&gt;TotalColumns&lt;/code&gt; to &lt;code&gt;MaxColumns&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rename exported variable &lt;code&gt;ErrMaxFileNameLength&lt;/code&gt; to &lt;code&gt;ErrMaxFilePathLength&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rename exported variable &lt;code&gt;ErrWorkbookExt&lt;/code&gt; to &lt;code&gt;ErrWorkbookFileFormat&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Remove exported variable &lt;code&gt;ErrEncrypt&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Change worksheet name case-insensitive&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Notable Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;New support 34 formula functions: CONVERT, COVARIANCE.S, DAVERAGE, DAYS360, DCOUNT, DCOUNTA, DGET, DMAX, DMIN, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DVAR, DVARP, EDATE, EOMONTH, EUROCONVERT, GROWTH, HYPERLINK, MINVERSE, MMULT, NETWORKDAYS, NETWORKDAYS.INTL, PEARSON, RSQ, SKEW.P, SLOPE, STDEVPA, STEYX, TREND, WEEKNUM, WORKDAY, WORKDAY.INTL&lt;/li&gt;
&lt;li&gt;New function &lt;code&gt;DeleteComment&lt;/code&gt; support to delete comment, related issue #849&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddShape&lt;/code&gt; function now support assigning a macro to the shape&lt;/li&gt;
&lt;li&gt;Add support for the 1900 and 1904 date system, related issue #1212&lt;/li&gt;
&lt;li&gt;Add support update cell hyperlink, related issue #1217&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AddPicture&lt;/code&gt; function now allowing insert EMF, WMF, EMZ and WMZ format images, related issue #1225&lt;/li&gt;
&lt;li&gt;Make workbook open failed exception message clear, new exported variable &lt;code&gt;ErrWorkbookPassword&lt;/code&gt; for the error message on receiving the incorrect workbook password&lt;/li&gt;
&lt;li&gt;New exported constants &lt;code&gt;MinFontSize&lt;/code&gt;, &lt;code&gt;MinColumns&lt;/code&gt; and &lt;code&gt;MaxCellStyles&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Add array formula support for the formula calculation engine&lt;/li&gt;
&lt;li&gt;Support for workbook encryption by password, related issue #199&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;RichTextRun&lt;/code&gt; support set superscript and subscript by &lt;code&gt;vertAlign&lt;/code&gt; attribute&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;DeleteDataValidation&lt;/code&gt; function support deleting all data validations in the worksheet, related issue #1254&lt;/li&gt;
&lt;li&gt;Formula calculation engine support percentile symbol in condition criteria expression&lt;/li&gt;
&lt;li&gt;Formula calculation engine support dependence formulas calculation, related issue #1262&lt;/li&gt;
&lt;li&gt;Add export option &lt;code&gt;MaxCalcIterations&lt;/code&gt; for specifies the maximum iterations for iterative calculation&lt;/li&gt;
&lt;li&gt;Add export type &lt;code&gt;ColorMappingType&lt;/code&gt; for color transformation types enumeration&lt;/li&gt;
&lt;li&gt;Support adjust table range when removing and inserting column/row&lt;/li&gt;
&lt;li&gt;Support set and get color index, theme and tint for sheet tab, related issue #1283&lt;/li&gt;
&lt;li&gt;Add new export function &lt;code&gt;GetRowOpts&lt;/code&gt; for rows iterator, to support get rows properties, related issue #1296&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Improve the Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Improve the compatibility with invalid internal styles count, resolve issue #1211&lt;/li&gt;
&lt;li&gt;Improve the compatibility with Google Sheet, resolve issue #1244&lt;/li&gt;
&lt;li&gt;Stream writer now skips writing nil values when set cells value for the row, related issue #1299&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fix generated file corrupted when the same field is used for pivot table data and rows/columns, resolve issue #1203&lt;/li&gt;
&lt;li&gt;Fix get incorrect rich text value caused by missing cell type checking, resolve issue #1213&lt;/li&gt;
&lt;li&gt;Fix incorrect cell data types casting results when number formatting, resolve issue #1219&lt;/li&gt;
&lt;li&gt;Fix the read cell is empty when the cell is in 0 placeholder number format style, resolve issue #1312 and #1313&lt;/li&gt;
&lt;li&gt;Fix set cell value with column and row style inherit issue, resolve issue #1163&lt;/li&gt;
&lt;li&gt;Fix panic when adding pane on empty sheet views worksheet&lt;/li&gt;
&lt;li&gt;Fix the problem of multi arguments formula calculation in some case&lt;/li&gt;
&lt;li&gt;Fix generated file corrupted caused by incorrect worksheet header footer fields order, resolve issue #1257&lt;/li&gt;
&lt;li&gt;Fix set cell value failed in some case, resolve issue #1264&lt;/li&gt;
&lt;li&gt;Fix the panic when set or get sheet view options on the sheet without views options&lt;/li&gt;
&lt;li&gt;Fix generated workbook corruption caused by empty created or modified dcterms in the document core properties&lt;/li&gt;
&lt;li&gt;Fix doc properties missing after creating new worksheet, resolve issue #1298&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Improve performance for set sheet row and the merging cells, fix performance impact when resolving issue #1129&lt;/li&gt;
&lt;li&gt;Optimization formula calculation performance&lt;/li&gt;
&lt;li&gt;Reduces memory usage and speedup the &lt;code&gt;AddComment&lt;/code&gt; function, resolve issue #1310&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Miscellaneous
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The dependencies module has been updated&lt;/li&gt;
&lt;li&gt;Unit tests and godoc updated, made the test case compatible with go1.19&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://xuri.me/excelize" rel="noopener noreferrer"&gt;Documentation website&lt;/a&gt; with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Thank you
&lt;/h3&gt;

&lt;p&gt;Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;@JDavidVR (David)&lt;/li&gt;
&lt;li&gt;@sceneq&lt;/li&gt;
&lt;li&gt;
&lt;a class="mentioned-user" href="https://dev.to/juneezee"&gt;@juneezee&lt;/a&gt; (Eng Zer Jun)&lt;/li&gt;
&lt;li&gt;@MichealJl (jialei)&lt;/li&gt;
&lt;li&gt;@ww1516123&lt;/li&gt;
&lt;li&gt;@z-hua (z.hua)&lt;/li&gt;
&lt;li&gt;@xdlrt (yeshu)&lt;/li&gt;
&lt;li&gt;@eaglexiang (Eagle Xiang)&lt;/li&gt;
&lt;li&gt;@MJacred&lt;/li&gt;
&lt;li&gt;@ReganYue (Regan Yue)&lt;/li&gt;
&lt;li&gt;@thomascharbonnel (Thomas Charbonnel)&lt;/li&gt;
&lt;li&gt;@ee0703 (EE)&lt;/li&gt;
&lt;li&gt;@NaturalGao (NaturalGao)&lt;/li&gt;
&lt;li&gt;@Sangua633&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>go</category>
      <category>excel</category>
      <category>xlsx</category>
    </item>
    <item>
      <title>Excelize 2.6.0 Released - Go language API for spreadsheets (Excel) files</title>
      <dc:creator>xuri</dc:creator>
      <pubDate>Sun, 10 Apr 2022 16:35:07 +0000</pubDate>
      <link>https://dev.to/xuri/excelize-260-released-go-language-api-for-spreadsheets-excel-files-2e5j</link>
      <guid>https://dev.to/xuri/excelize-260-released-go-language-api-for-spreadsheets-excel-files-2e5j</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpsdmn3kzkj1o7s9bdlx2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpsdmn3kzkj1o7s9bdlx2.png" alt="Excelize 2.6.0 Released - Go language API for spreadsheets (Excel) files" width="800" height="531"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/xuri/excelize" rel="noopener noreferrer"&gt;github.com/xuri/excelize&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are pleased to announce the release of version 2.6.0. Featured are a handful of new areas of functionality and numerous bug fixes.&lt;/p&gt;

&lt;p&gt;A summary of changes is available in the &lt;a href="https://github.com/xuri/excelize/releases/tag/v2.6.0" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;. A full list of changes is available in the &lt;a href="https://github.com/xuri/excelize/compare/v2.5.0...v2.6.0" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Release Notes
&lt;/h2&gt;

&lt;p&gt;The most notable changes in this release are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Rename exported constants &lt;code&gt;NameSpaceDublinCoreMetadataIntiative&lt;/code&gt; to &lt;code&gt;NameSpaceDublinCoreMetadataInitiative&lt;/code&gt; for typo fix&lt;/li&gt;
&lt;li&gt;Rename exported variable &lt;code&gt;ErrUnsupportEncryptMechanism&lt;/code&gt; to &lt;code&gt;ErrUnsupportedEncryptMechanism&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rename exported variable &lt;code&gt;ErrDataValidationFormulaLenth&lt;/code&gt; to &lt;code&gt;ErrDataValidationFormulaLength&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rename exported variable &lt;code&gt;ErrDefinedNameduplicate&lt;/code&gt; to &lt;code&gt;ErrDefinedNameDuplicate&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Remove exported variable &lt;code&gt;XMLHeaderByte&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Remove second useless parameter &lt;code&gt;isCurrentSheet&lt;/code&gt; and error returns of the function &lt;code&gt;SetSqrefDropList&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Remove &lt;code&gt;TotalRows&lt;/code&gt; of row iterator&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Notable Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;ProtectSheet&lt;/code&gt; now support protect sheet with specify algorithm: XOR, MD4, MD5, SHA1, SHA256, SHA384, and SHA512&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;UnprotectSheet&lt;/code&gt; now support specified the second optional password parameter to remove sheet protection with password verification&lt;/li&gt;
&lt;li&gt;New support 71 formula functions: AVERAGEIFS, BETADIST, BETA.DIST, BETAINV, BETA.INV, BINOMDIST, BINOM.DIST, BINOM.DIST.RANGE, BINOM.INV, CHIINV, CHITEST, CHISQ.DIST, CHISQ.DIST.RT, CHISQ.INV, CHISQ.INV.RT, CHISQ.TEST, CONFIDENCE.T, CORREL, COVAR, COVARIANCE.P, CRITBINOM, ERROR.TYPE, EXPON.DIST, EXPONDIST, F.DIST, F.DIST.RT, FDIST, F.INV, F.INV.RT, FINV, FORMULATEXT, F.TEST, FTEST, GAMMA.DIST, GAMMADIST, GAMMA.INV, GAMMAINV, GAMMALN.PRECISE, GAUSS, HOUR, HYPGEOM.DIST, HYPGEOMDIST, INDIRECT, LOGINV, LOGNORM.DIST, LOGNORMDIST, LOGNORM.INV, MODE, MODE.MULT, MODE.SNGL, NEGBINOM.DIST, NEGBINOMDIST, PHI, SECOND, SERIESSUM, SUMIFS, SUMPRODUCT, SUMX2MY2, SUMX2PY2, SUMXMY2, T.DIST, T.DIST.2T, T.DIST.RT, TDIST, TIMEVALUE, T.INV, T.INV.2T, TINV, T.TEST, TTEST, TYPE&lt;/li&gt;
&lt;li&gt;Check file extension on save the workbook&lt;/li&gt;
&lt;li&gt;Support workbook views mode and ruler display settings&lt;/li&gt;
&lt;li&gt;Improve number format support, introduced NFP (number format parser) dependencies module for custom dates and times number format and text place holder support, include local month name and AM/PM format in 19 languages (Afrikaans, Bangla, Chinese, English, French, German, Austria, Irish, Italian, Russian, Spanish, Thai, Tibetan, Turkish, Welsh, Wolof, Xhosa, Yi and Zulu) support for number format, related issues #660, #764, #1093, #1112, #1133&lt;/li&gt;
&lt;li&gt;New exported functions &lt;code&gt;SetWorkbookPrOptions&lt;/code&gt; and &lt;code&gt;GetWorkbookPrOptions&lt;/code&gt; to support setting and getting the &lt;code&gt;FilterPrivacy&lt;/code&gt; and &lt;code&gt;CodeName&lt;/code&gt; properties of the workbook, resolve limitations when adding VBA project to the workbook, related issue #1148&lt;/li&gt;
&lt;li&gt;Formula engine now support calculation with the none parameter formula function after infix operator notation&lt;/li&gt;
&lt;li&gt;Support to read boolean data type cell value&lt;/li&gt;
&lt;li&gt;Support set hole size when create the doughnut chart by &lt;code&gt;AddChart&lt;/code&gt; function, resolve issue #1172&lt;/li&gt;
&lt;li&gt;Export 4 errors &lt;code&gt;ErrPasswordLengthInvalid&lt;/code&gt;, &lt;code&gt;ErrUnsupportedHashAlgorithm&lt;/code&gt;, &lt;code&gt;ErrUnsupportedNumberFormat&lt;/code&gt;, &lt;code&gt;ErrWorkbookExt&lt;/code&gt; so users can act differently on the different type of errors&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Improve the Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Improve compatibility with LibreOffice, fixed the issue auto filter doesn't work on LibreOffice if the sheet name has spaces, resolve issue #1122&lt;/li&gt;
&lt;li&gt;Improve the compatibility with alternate content, support preserve alternate content in the workbook, worksheet, and drawingML&lt;/li&gt;
&lt;li&gt;Improve the compatibility with page setup DPI fields&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fix missing page setup of worksheet after re-saving the spreadsheet, resolve issue #1117&lt;/li&gt;
&lt;li&gt;Fix merged cells doesn't updated after opertaion in some cases&lt;/li&gt;
&lt;li&gt;Fix style parsing issue, which causes bold and other style missing, resolve issue #1119&lt;/li&gt;
&lt;li&gt;Fix file corrupted when save as in XLAM / XLSM / XLTM / XLTX extension in some case&lt;/li&gt;
&lt;li&gt;Correct cells style in merge range, make cell support inheritance columns/rows style, resolve issue #1129&lt;/li&gt;
&lt;li&gt;Fix incorrect style ID returned on getting cell style in some cases&lt;/li&gt;
&lt;li&gt;Fix incorrect build-in number format: 42&lt;/li&gt;
&lt;li&gt;Fixed parsing decimal precision issue in some case&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;SetCellDefault&lt;/code&gt; support non-numeric value, resolve issue #1139&lt;/li&gt;
&lt;li&gt;Fixed show sheet tabs setting was missing on save as spreadsheet in some cases, resolve issue #1160&lt;/li&gt;
&lt;li&gt;Fix nested formula calculation result error, resolve issue #1164&lt;/li&gt;
&lt;li&gt;Fix a part of formula function calculation result precision issue and inconsistent result precision of formula calculation under x86 and arm64 processor (CPU) architecture&lt;/li&gt;
&lt;li&gt;This fix scientific notation parsing issue in some case&lt;/li&gt;
&lt;li&gt;Fix the issue that the chart axis maximum and minimum didn't work when the value is 0&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Improve streaming reading performance, based on the previously released version, reduce memory usage by about 50% at most for reading large data spreadsheet, and reduce 80% GC times for the row's iterator&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Miscellaneous
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The dependencies module has been updated&lt;/li&gt;
&lt;li&gt;Unit tests and godoc updated&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://xuri.me/excelize" rel="noopener noreferrer"&gt;Documentation website&lt;/a&gt; with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>go</category>
      <category>excel</category>
      <category>xlsx</category>
    </item>
    <item>
      <title>Excelize 2.5.0 Released - Go language API for spreadsheets (Excel) files</title>
      <dc:creator>xuri</dc:creator>
      <pubDate>Sun, 02 Jan 2022 16:38:44 +0000</pubDate>
      <link>https://dev.to/xuri/excelize-250-released-go-language-api-for-spreadsheets-excel-files-hmg</link>
      <guid>https://dev.to/xuri/excelize-250-released-go-language-api-for-spreadsheets-excel-files-hmg</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffyhamsgpj5bzxf34owxz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffyhamsgpj5bzxf34owxz.png" alt="Excelize 2.5.0 Released - Go language API for spreadsheets (Excel) files" width="800" height="531"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLSX / XLSM / XLTM files. Supports reading and writing spreadsheet documents generated by Microsoft Excel&amp;amp;tradde; 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.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/xuri/excelize" rel="noopener noreferrer"&gt;github.com/xuri/excelize&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are pleased to announce the release of version 2.5.0. Featured are a handful of new areas of functionality and numerous bug fixes.&lt;/p&gt;

&lt;p&gt;A summary of changes is available in the &lt;a href="https://github.com/xuri/excelize/releases/tag/v2.5.0" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;. A full list of changes is available in the &lt;a href="https://github.com/xuri/excelize/compare/v2.4.1...v2.5.0" rel="noopener noreferrer"&gt;changelog&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Release Notes
&lt;/h2&gt;

&lt;p&gt;The most notable changes in this release are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Close spreadsheet and row's iterator required, the user should be close the stream after using the row's iterator, and close the spreadsheet after opening an existing spreadsheet&lt;/li&gt;
&lt;li&gt;Change &lt;code&gt;ReadZipReader&lt;/code&gt; as an implementation of the &lt;code&gt;File&lt;/code&gt;, extract spreadsheet with given options, and support extract in memory or touching the filesystem&lt;/li&gt;
&lt;li&gt;Remove unnecessary exported variable &lt;code&gt;XMLHeader&lt;/code&gt;, we can using &lt;code&gt;encoding/xml&lt;/code&gt; package's &lt;code&gt;xml.Header&lt;/code&gt; instead of it&lt;/li&gt;
&lt;li&gt;Remove unused exported error variable &lt;code&gt;ErrToExcelTime&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Notable Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;New API: &lt;code&gt;SetRowStyle&lt;/code&gt; support for set style for the rows, related issue #990&lt;/li&gt;
&lt;li&gt;New API: &lt;code&gt;GetCellType&lt;/code&gt; support for get the cell's data type, related issue #417 and #520&lt;/li&gt;
&lt;li&gt;New API: &lt;code&gt;SetAppProps&lt;/code&gt; and &lt;code&gt;GetAppProps&lt;/code&gt; support to set and get document application properites, related issue #1095&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;GetCellValue&lt;/code&gt;, &lt;code&gt;GetRows&lt;/code&gt;, &lt;code&gt;GetCols&lt;/code&gt;, &lt;code&gt;Rows&lt;/code&gt; and &lt;code&gt;Cols&lt;/code&gt; support to specify read cell with raw value, related issue #621&lt;/li&gt;
&lt;li&gt;New support 95 formula functions: ACCRINT, ACCRINTM, ADDRESS, AMORDEGRC, AMORLINC, AVEDEV, AVERAGEIF, CHIDIST, CONFIDENCE, CONFIDENCE.NORM, COUNTIF, COUNTIFS, COUPDAYBS, COUPDAYS, COUPDAYSNC, COUPNCD, COUPNUM, COUPPCD, DATEVALUE, DAY, DAYS, DELTA, DEVSQ, DISC, DURATION, ERF, ERF.PRECISE, ERFC, ERFC.PRECISE, GEOMEAN, GESTEP, IFNA, IFS, INDEX, INTRATE, ISFORMULA, ISLOGICAL, ISREF, ISOWEEKNUM, MATCH, MAXA, MAXIFS, MDURATION, MINIFS, MINUTE, MONTH, ODDFPRICE, PERCENTILE.EXC, PERCENTRANK.EXC, PERCENTRANK.INC, PERCENTRANK, PRICE, PRICEDISC, PRICEMAT, PV, QUARTILE.EXC, RANK, RANK.EQ, RATE, RECEIVED, RRI, SHEETS, SLN, STANDARDIZE, STDEV.P, STDEVP, SWITCH, SYD, TBILLEQ, TBILLPRICE, TBILLYIELD, TEXTJOIN, TIME, TRANSPOSE, TRIMMEAN, VALUE, VAR, VAR.S, VARA, VARPA, VDB, WEEKDAY, WEIBULL, WEIBULL.DIST, XIRR, XLOOKUP, XNPV, XOR, YEAR, YEARFRAC, YIELD, YIELDDISC, YIELDMAT, Z.TEST, ZTEST, related issue #1002&lt;/li&gt;
&lt;li&gt;Formula calculation engine support nested calc for &lt;code&gt;IF&lt;/code&gt; formula, related issue #987&lt;/li&gt;
&lt;li&gt;Formula calculation engine support get shared formula, related issue #844&lt;/li&gt;
&lt;li&gt;Formula calculation engine support text comparison, related issue #998&lt;/li&gt;
&lt;li&gt;Support specify the formula in the data validation range, related issue #1012&lt;/li&gt;
&lt;li&gt;Support specified unzip size limit on open file options, avoid zip bombs vulnerability attack&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;SetCellFormula&lt;/code&gt; now support set the shared formula&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;UpdateLinkedValue&lt;/code&gt; will skip macro sheet, related issue #1014&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;AddPicture&lt;/code&gt; created duplicate image in some cases, caused by incorrect internal relationships ID calculation, related issue #1017&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;AddShape&lt;/code&gt; support set line width of add the shape, related issue #262&lt;/li&gt;
&lt;li&gt;New options &lt;code&gt;UnzipXMLSizeLimit&lt;/code&gt; have been added, support to specifies the memory limit on unzipping worksheet and shared string table in bytes&lt;/li&gt;
&lt;li&gt;An error will be returned if given an invalid custom number format when creating a new style, related issue #1028&lt;/li&gt;
&lt;li&gt;Now support set row style in the stream writer&lt;/li&gt;
&lt;li&gt;Stream writer will create a time number format for time type cells, related issue #1107&lt;/li&gt;
&lt;li&gt;Now support specify compact and outline for the pivot table, related issue #1029&lt;/li&gt;
&lt;li&gt;Support get current rows/columns and total rows/columns in the stream reader, related PR #1054&lt;/li&gt;
&lt;li&gt;Now support time zone location when set cell value, related issue #1069&lt;/li&gt;
&lt;li&gt;Export 7 errors so users can act differently on different type of errors&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Improve the Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Improve compatibility with row element with &lt;code&gt;r="0"&lt;/code&gt; attribute&lt;/li&gt;
&lt;li&gt;Preserve XML control character&lt;/li&gt;
&lt;li&gt;Improve the compatibility of style settings with Apple Numbers, related issue #1059&lt;/li&gt;
&lt;li&gt;Support multi-byte language on set header footer, related issue #1061&lt;/li&gt;
&lt;li&gt;Preserve horizontal tab character when set the cell value, related issue #1108&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fix the data validation deletion failed, resolve issue #979&lt;/li&gt;
&lt;li&gt;Fix set data validation drop list failed in some cases, resolve issue #986&lt;/li&gt;
&lt;li&gt;Fix formula calculation engine &lt;code&gt;LOOKUP&lt;/code&gt; doesn't handle array form correctly, resolve issue #994&lt;/li&gt;
&lt;li&gt;Fix formula calculation engine &lt;code&gt;LOOKUP&lt;/code&gt; can only find exact match, resolve issue #997&lt;/li&gt;
&lt;li&gt;Fix formula percentages calculated incorrectly, resolve issue #993&lt;/li&gt;
&lt;li&gt;Fix panic caused by incorrect cell read on some case&lt;/li&gt;
&lt;li&gt;Fix conditional format bottom N not working&lt;/li&gt;
&lt;li&gt;Fix time parse accuracy issue, resolve issue #1026 and #1030&lt;/li&gt;
&lt;li&gt;Fix build-in scientific number format failed, resolve issue #1027&lt;/li&gt;
&lt;li&gt;Fix small float parse error in some case, resolve issue #1031&lt;/li&gt;
&lt;li&gt;Fix worksheet deletion failed in some case&lt;/li&gt;
&lt;li&gt;Fix build-in time number format parse error, resolve issue #1060&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;NewStyle&lt;/code&gt; returned incorrect style ID in some case&lt;/li&gt;
&lt;li&gt;Fix merged cell range error after row/column insert/deletion in some corner case&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Merge cell time cost speed up, time cost decrease over 90%&lt;/li&gt;
&lt;li&gt;Improve streaming reading performance, unzip shared string table to system temporary file when large inner XML, memory usage decreased about 60%, related issue #1096&lt;/li&gt;
&lt;li&gt;Worksheet list read speed up&lt;/li&gt;
&lt;li&gt;Merge column styles to reduce spreadsheet size, resolve issue #1057&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Miscellaneous
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The dependencies module has been updated&lt;/li&gt;
&lt;li&gt;Unit tests and godoc updated&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://xuri.me/excelize" rel="noopener noreferrer"&gt;Documentation website&lt;/a&gt; with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>go</category>
      <category>excel</category>
      <category>xlsx</category>
    </item>
    <item>
      <title>5th Anniversary of the Excelize Open Source 🎉</title>
      <dc:creator>xuri</dc:creator>
      <pubDate>Tue, 31 Aug 2021 15:44:38 +0000</pubDate>
      <link>https://dev.to/xuri/5th-anniversary-of-the-excelize-open-source-21ki</link>
      <guid>https://dev.to/xuri/5th-anniversary-of-the-excelize-open-source-21ki</guid>
      <description>&lt;p&gt;Excelize (&lt;a href="https://github.com/xuri/excelize" rel="noopener noreferrer"&gt;github.com/xuri/excelize&lt;/a&gt;) since 2016 has become the popular choice to process spreadsheets documents among cloud-native and especially among Go language developers. Deep in essence and known for their professional support and well capabilities, Excelize is being widely used by large Internet companies, SME customers, and startup companies. Now, for the 5th anniversary of the Excelize open source, it has been released 16 versions, more than 100 contributors have participated in code contributing. I would like to thank all those who support the development and contributions of the project, and I'm very happy to be able to help anyone in need it. For me personally, creating and maintaining an open-source project requires not only the ability to write code, write documentation, and community management, the more important thing is how to keep the enthusiasm, happy, energetic, and efficient output state.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Excelize Star History&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fxuri.me%2Fwp-content%2Fuploads%2F2021%2F08%2Fexcelize_5th_stargazers.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fxuri.me%2Fwp-content%2Fuploads%2F2021%2F08%2Fexcelize_5th_stargazers.png" alt="Excelize Star History on 5th Anniversary" width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Excelize Contributors&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fxuri.me%2Fwp-content%2Fuploads%2F2021%2F08%2Fexcelize_5th_contributors.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fxuri.me%2Fwp-content%2Fuploads%2F2021%2F08%2Fexcelize_5th_contributors.png" alt="Excelize Contributors on 5th Anniversary" width="800" height="676"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the future, I'll continue to work with developers in the community to optimize functions, capabilities, and performance, including to:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Make more API support concurrency safety&lt;/li&gt;
    &lt;li&gt;Keep to optimization performance for generating or reading data from a worksheet with huge amounts of data&lt;/li&gt;
    &lt;li&gt;More formula functions support in the calculation engine&lt;/li&gt;
    &lt;li&gt;Complex conditional format settings, data prediction support, etc.&lt;/li&gt;
    &lt;li&gt;Support more Chart style settings&lt;/li&gt;
    &lt;li&gt;PivotTable, PivotChart, Slicer&lt;/li&gt;
    &lt;li&gt;Number format parsing&lt;/li&gt;
    &lt;li&gt;Workbook encryption&lt;/li&gt;
    &lt;li&gt;More API will be support in the streaming reading and writing mode&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At last, welcome to contribute to Excelize.&lt;/p&gt;

</description>
      <category>go</category>
      <category>excel</category>
      <category>xlsx</category>
    </item>
  </channel>
</rss>
