Releases: qax-os/excelize
v2.4.1
We are pleased to announce the release of version 2.4.1. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the changelog.
Release Notes
The most notable changes in this release are:
Breaking Change
Change Go Modules import path to github.com/xuri/excelize/v2
Notable Features
- Support set column width in streaming mode, related issue #625
- Support merge cell in streaming mode, related issue #826
- New support 2 formula functions: BESSELK, BESSELY
- The formula calculation engine now supports defined name references
- Add disable option for chart xAxis and yAxis
- The function
AddPivotTablesupport reference source data range by defined name, relate issue #856 - The following function now is concurrency safety, relate issue #861
AddPictureandGetPictureconcurrency insert or get the picture from the worksheetRowsandColsconcurrency iterate rows and columnsSetSheetRowconcurrency set cells for a row in the worksheetSetCellStyleconcurrency set cell styleNewStyleconcurrency create the style
- Export 24 function's error message
Improve the Compatibility
- Improves compatibility for default XML namespace attributes, fix generated corrupted file in some case
- Improves compatibility with non-standard page setup attributes, fix open spreadsheet failed in some case
- Add count attribute in shared strings table
- Remove UTC timezone requirement when setting cell value with time, related issue #409
- Improves compatibility with XML control character in the escape literal string
- Rename exported field
File.XLSXtoFile.Pkg - Change the sheet names are not case sensitive for
NewSheet,GetSheetIndex,DeleteSheet, resolve issue #873 - Fix missing pivot attribute of conditional formatting, resolve issue #883
- Improvement compatibility with invalid first-page number attribute in the page layout
- Add maximum character limit and fix missing preserve character for
SetCellRichText
Bug Fixes
- Fix 12/24 hours time format parsing error, resolve issue #823 and #841
- Fix can't get comments by
GetCommentsin some case, resolve issue #825 - Fix issue when get and add comments on multi authors, resolve issue #829 and #830
- Fix invalid file path and duplicate namespace when re-creating worksheet, resolve issue #834
- Fix set outline attributes not work when the value of
showOutlineSymbols,summaryBelowandsummaryRightattributes arefalse - Avoid empty rows in the tail of the worksheet by
GetRows, resolve issue #842 - Fix missing formula cell when getting rows value, resolve issue #855
- Fix comparison fails inside and outside IF function, resolve issue #858
- Fix
GetRowHeightactually get the height of the next row - Fix incorrect scope when getting and delete the defined name, resolve issue #879
- Attribute
LocalSheetIDin the defined name should be equal toSheetIndexinstead ofSheetID - Fix missing set each cell's styles when set columns style, resolve issue #467
- Prevent panic when an incorrect range is provided as
PivotTableRangeon creating a pivot table - Fix reading decimals precision issue, resolve issue #848 and #852
- Escape XML character in the drop list, avoid corrupted file generated, resolve issue #971
- Fix incorrect character count limit in the drop list, resolve issue #972
- Fix high CPU usage on reading cell value with number format caused by Excel time parse issue in some case, resolve issue #974
- Fix month parsing error in custom number format in some cases
Performance
Miscellaneous
- Fix code security issue CWE-190 and CWE-681
- The dependencies module has been updated
- Unit tests and godoc updated
- Use GitHub Action for unit testing
- Documentation website with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated
v2.4.0
We are pleased to announce the release of version 2.4.0. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the changelog.
Release Notes
The most notable changes in this release are:
Breaking Change
Upgrade requirements Go language version is 1.15 or later.
Notable Features
- New API
GetCellRichTextsupport to get the rich text of cell by given worksheet - Now support to set and get: print scaling, print black and white, and specified the first printed page number of the worksheet by
SetPageLayoutandGetPageLayout - Now support to change and get tab color of the worksheet by
SetSheetPrOptionsandGetSheetPrOptions SetCellHyperlinknow support to set hyperlink display & tooltips text, related issue #790- Support
ShowErroroption when adding the pivot table - Support setting formula for cell in streaming API, related issue #625
- The formula calculation engine now supports not equal operator
- The nested formula function now supports cell references as arguments
- Support to specifies that each data marker in the series has a different color
- New support 152 formula functions: ATAN, AVERAGE, AVERAGEA, BESSELI, BESSELJ, BIN2DEC, BIN2HEX, BIN2OCT, BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, CHAR, CHOOSE, CLEAN, CODE, COLUMN, COLUMNS, COMPLEX, CONCAT, CONCATENATE, COUNT, COUNTBLANK, CUMIPMT, CUMPRINC, DATE, DATEDIF, DB, DDB, DEC2BIN, DEC2HEX, DEC2OCT, DOLLARDE, DOLLARFR, EFFECT, ENCODEURL, EXACT, FALSE, FIND, FINDB, FISHER, FISHERINV, FIXED, FV, FVSCHEDULE, GAMMA, GAMMALN, HARMEAN, HEX2BIN, HEX2DEC, HEX2OCT, HLOOKUP, IF, IFERROR, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMDIV, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER, IMPRODUCT, IMREAL, IMSEC, IMSECH, IMSIN, IMSINH, IMSQRT, IMSUB, IMSUM, IMTAN, IPMT, IRR, ISTEXT, ISPMT, KURT, LARGE, LEFT, LEFTB, LEN, LENB, LOOKUP, LOWER, MAX, MID, MIDB, MIN, MINA, MIRR, N, NOMINAL, NORM.DIST, NORMDIST, NORM.INV, NORMINV, NORM.S.DIST, NORMSDIST, NORM.S.INV, NORMSINV, NOT, NOW, NPER, NPV, OCT2BIN, OCT2DEC, OCT2HEX, PDURATION, PERCENTILE.INC, PERCENTILE, PERMUT, PERMUTATIONA, PMT, POISSON.DIST, POISSON, PPMT, PROPER, QUARTILE, QUARTILE.INC, REPLACE, REPLACEB, REPT, RIGHT, RIGHTB, ROMAN, ROW, ROWS, SHEET, SKEW, SMALL, STDEV, STDEV.S, STDEVA, SUBSTITUTE, T, TODAY, TRIM, TRUE, UNICHAR, UNICODE, UPPER, VAR.P, VARP, VLOOKUP
Improve the Compatibility
- Now set the empty string for the cell when
SetCellValuewithnil, resolve issue #756 - Remove useless internal XML
omitemptytag on style pattern fill color - Fix compatibility issue of Google Sheets offline browser extension #769
- Use absolute reference in the auto filters defined name to make it compatible with OpenOffice, resolve issue #776
- Handle end element event in the worksheet row/column iterator XML SAX parser, faster row/column iterate and fix inconsistent read rows count of the file in some case
- Improves compatibility for worksheet relative XML path
- Avoid duplicate rich text string items #787
- Improves compatibility for absolute XML path, Windows-style directory separator, and inline namespace
Bug Fixes
- Fix round precision issue #764
- Add missing fields and change the order of the fields of workbook fields, prevent generate the corrupted file in some case, resolve issue #766
- Fix hyperbolic cotangent calculation incorrect
- Correct adjust calculation chain in duplicate rows, resolve issue #774
- Correct adjust defined name in the workbook when deleting a worksheet, resolve issue #775
- Fix cyclomatic complexity issue of internal function
newFillsandparseToken - Fix custom row height check issue
- Fix unmerge all cells cause corrupted file, resolve issue #782
- Fix part of auto filter rules missing after saved
- Fix
UpdateLinkedValuewhich returns an error when has chart sheet or dialog sheet - Fix incorrect default column from
GetColWidthin some case - Fix can't add timelines and slicers for a pivot table in a generated spreadsheet, resolve issue #804
- Fix incorrect SetDefinedName's
localSheetIdattribute to usesheetIndex - Fix missing cell locked or hidden protection in some case, resolve issue #809
- Fix streaming data writer result missing after call normal API, resolve issue #813
- Fix the negative values series missing chart color issue
Performance
- Faster numeric precision process
Miscellaneous
- The dependencies module has been updated
- Unit tests and godoc updated
- Documentation website with multilingual: Arabic, German, Spanish, English, French, Russian, Chinese, Japanese, and Korean, which has been updated
- Welcome join the Slack channel or Telegram Group to meet other members of our community
v2.3.2
We are pleased to announce the release of version 2.3.2. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the changelog.
Release Notes
The most notable changes in this release are:
Notable Features
- The function
AddPivotTablenow support none-column and multi-data fields, relate issue #710 - The function
GetCellValuesupport custom date-time number format, relate issue #703 - The function
CalcCellValuenow support new formula functionAND,CLEAN,TRIM,LOWER,PROPER,UPPERandOR, relate issue #701 and #747 - The range of data validation now supports float decimal, relate issue #739
- The function
AddChartnow support to set marker type and custom line width, relate issue #549 and #657
Improve the Compatibility
- Improve over 6 series line chart compatibility with KingSoft WPS™, resolve #627
- Avoid creating duplicate inner style in some case
- Parse document core part (workbook) dynamically
- Support single line with repeated row element in the worksheet data, resolve #732
Bug Fixes
- Prevent formula lexer panic on retrieving the top token type on some invalid formula, resolve issue #711
- Fix missing worksheet when renaming with same names, resolve issue #713
- Fix wrong worksheet index returned by
NewSheetin some cases, resolve issue #714 - Fix panic on formatted value with no built-in number format ID, resolve issue #715 and #741
- Rounding numeric with precision for formula calculation, resolve issue #727
- Fix row duplicate mechanism #729
- Fix incorrect active tab after delete worksheet in some cases, resolve issue #735
- Fix
AddPictureautofit failure with multi merged cells, resolve issue #748
Performance
- Stream writing memory usage decrease about 60%, relate issue #659
- Optimize memory allocation
workSheetWriter, relate issue #722 - Improve
AddPictureperformance, relate issue #706
Miscellaneous
- Unit tests and godoc updated
- Documentation website with multilingual: English, French, Russian, Chinese, Japanese, and Korean, which has been updated, 3 new language: Arabic, German and Spanish language version docs published
- Welcome join the Slack channel or Telegram Group to meet other members of our community
v2.3.1
We are pleased to announce the release of version 2.3.1. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the changelog.
Release Notes
The most notable changes in this release are:
Notable Features
- Support open spreadsheet with password protection by ECMA-376 document standard encryption, relate issue #199
- Add checking and limits for the worksheet
- Extend pivot table functionality: support set the header, style, and table options for the pivot table
- Security vulnerabilities and patches
Improve the Compatibility
- Compatible with Go 1.15, fix unit test failed on Windows and potential race condition, relate issue #689
- Default row height compatibility with Apache OpenOffice and Kingsoft WPS™
- Improve compatibility for the phonetic hint and sheet tab color
Bug Fixes
- Fix
RemoveRowslice bounds out of range cause panic in some case, resolve #686 - Fix stream writer generated corrupted files issue
- Fix the scale for add picture not work, resolve #691
Miscellaneous
- Unit tests update and typo fixed
- Documentation website with multilingual: English, French, Russian, Chinese, Japanese, and Korean, which has been updated
- Welcome join the Slack channel to meet other members of our community
v2.3.0
We are pleased to announce the release of version 2.3.0. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the changelog.
Release Notes
The most notable changes in this release are:
Notable Features
- Support to set cell values concurrent, relate issue #670
- New API:
SetSheetFormatPrandGetSheetFormatPr, support to set and get worksheet formatting properties, relate issue #635 - New API:
GetColsandCols, support columns iterator AddChartsupport specified logarithmic scale on Y-axis, relate issue #661AddPicturesupport insert image autofit cell- Add limits for total columns, row and filename length
- Formula calculation engine support defined name, relate issue #665
- API
CalcCellValueupdate, formula calculation engine working in progress: 12 new functions has been added,COUNTA,ISBLANK,ISERR,ISERROR,ISEVEN,ISNA,ISNONTEXT,ISODD,ISNUMBER,MEDIAN,NA,SUMIF
Improve the Compatibility
- Compatible to case-sensitive doc parts path
- Storage string to SST (shared string table), relate issue #622
- Support the
rowelement withoutrattribute in the worksheet - Support XML multi namespace, make compatible with Kingsoft WPS™ Office, relate issue #651
- Improve the compatibility of the auto filter with Office 2007 - 2010, resolve #637
Bug Fixes
- Avoid duplicate filter database in workbook defined name
- Avoid creating duplicate style, resolve #643
- Escape characters for set rich-text
- Fix the issue, comment shapes are changed after reopening spreadsheet created by Excelize, resolve #672
- Fix panic when enabling compiler inline flags, resolve #677 and #679
- Fix the accuracy issue of getting cell value of percentage cell
Miscellaneous
- Improved error handling and fix crash when open invalid spreadsheet file
- Add missing checking error in unit tests
- Documentation website with multilingual: English, French, Russian, Chinese, Japanese, and Korean, which has been updated
v2.2.0
We are pleased to announce the release of version 2.2.0. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the changelog.
Release Notes
The most notable changes in this release are:
Notable Features
- Using the worksheet index instead of ID in the following functions:
GetSheetName,GetSheetIndex,GetActiveSheetIndexandSetActiveSheet, relate issue #485 - New function
GetSheetListto get the worksheet, chart sheet, and dialog sheet name list of the workbook - New function
AddChartSheetsupport create chart sheet, relate issue #451 - New function
UnsetConditionalFormat, support for remove conditional format, relate issue #571 - New function
DeleteDataValidation, support delete data validation, relate issue #348 - New function
SetCellRichText, support set rich text, relate issue #172 - New functions
InsertPageBreakandRemovePageBreak, support for insert and remove page break, relate issue #492 - The
AddPivotTableAPI changed, support for setting date field subtotal and names of the pivot table, relate issue #582 - The
AddPivotTablesupport to set the filter for the pivot table, relate issue #598 - The
AddPivotTableallow empty filter, data, and rows in the pivot table - Export
ExcelDateToTimefunction to convert excel date to time - Export
Stylestructs to allow create the style for cells by given JSON or structure pointer, relate issue #470
Bug Fixes
- Fix
greaterThanOrEqualandlessThanOrEqualoperators did not work when setting the conditional format for cell bySetConditionalFormat, resolve issue #608 - Fix corrupt worksheet created by
StreamWriter, resolve issue #576 - Escape character in the formula, resolve issue #578
- Fix the
DuplicateRowTofunction doesn't duplicate merged cells, resolve issue #586 - Fix conditional formatting hides the adjacent borders by ignoring empty conditional format style, resolve issue #200
- Fix missing comments by
GetComments, resolve issue #345 - Fix reading wrong string by
GetCellValuein some case, resolve issue #602 - Check and fill the cell without
rattribute in a row element, fix returned empty value whenGetCellValuein some case - Allow empty or default cell style formats, resolve #628
Performance
- Reduce redundant memory copy in
getRowHeight
Miscellaneous
- Remove calculated properties to make recalculate formulas in some spreadsheet applications, such as Kingsoft WPS™ Office
- Add missing checking error in unit tests
- Documentation website with multilingual: English, French, Russian, Chinese, Japanese, and Korean, which has been updated
v2.1.0
We are pleased to announce the release of version 2.1.0. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the changelog.
Release Notes
The most notable changes in this release are:
Notable Features
- New function
DeleteDefinedName, support to delete the defined names of the workbook or worksheet - New functions
SetPageMarginsandGetPageMargins, support to for getting setting page margins - New functions
DeleteChartandDeletePicture, support to delete chart and images from the worksheet - Add support for Excel file that uses no UTF-8 encoding
- The function
AddChartnow support to create the pie of pie chart, the bar of pie chart and combo chart
The functionAddChartnow support to set minor grid lines for the chart, relate issue #501
The functionAddChartnow support to set line width of the line chart, relate issue #505
The functionAddChartnow support to set a major unit and tick label skip for the chart, relate issue #538 - The function
SetColVisiblenow support to set column visible by column range - The function
AddPivotTableallow empty columns in the pivot table, relate issue #511
Bug Fixes
- Fix missing ending space text of the cell
- The
MergeCellfunction support overlapped merge cells, resolve issue #533 - Added handling of empty inline rich text in some case, resolve issue #529
- Added handling of empty workbook view in some case, resolve issue #426
- Added handling of escape character in the formula, resolve issue #546
Performance
- New functions
NewStreamWriterandFlushto generate the new worksheet with huge amounts of data. Compared to non-streaming writing, reduced memory usage by 90.2%, time cost by 53% - Make
GetRowsfunction read data as streaming. Reduced memory usage by 78.9%, relate issues #146 and #382 - Compatibility improvements, adding 49 internal XML namespaces support
Miscellaneous
- Added logging of possible errors when decoding XML, relate issues #539
- Improve code coverage unit tests (line Coverage: 97.04%)
- Add missing checking error in unit tests
- Documentation website with multilingual: English, French, Russian, Chinese, Japanese, and Korean, which has been updated
v2.0.2
We are pleased to announce the release of version 2.0.2. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the change log.
Release Notes
The most notable changes in this release are:
Breaking Change
Upgrade requirements Go language version is 1.10 or later.
Notable Features
- Create pivot table support. New function
AddPivotTable()has been added - Create sparkline support. New function
AddSparkline()has been added - New function
GroupSheets()andUngroupSheets()support group and ungroup sheets - New function
AddVBAProject()to support add vbaProject.bin file which contains functions and/or macros - The function
SetPageLayout()now support to support to set fit to width and height, relate issue #432 - The function
SetSheetViewOptions()support to set whether to "show a zero in cells that have zero value" now - Allow access to more formula attributes in
SetCellFormula(), support set the type of the formula and the ref attribute - Font strike style support, relate issue #482
Bug Fixes
- Fix missing text of comments in some case, resolve issue #434
- Fix
RemoveRow()out of range in some case by recalculate offset for merged cells adjuster, resolve issue #437 - Fix invalid formula in data validation drop list
- Fix file corrupted when calling the
Save()method in the iteration, resolve issue #443 - Compatible with different types of relative paths in
workbook.xml.relsto fix read file failed in some case, resolve issue #442 - Fixed file corruption when deleting all merged cells in some case
- Fix issue where the protection worksheet settings are invalid in some case, resolve issue #454
- Fix
GetSheetNamedoesn't work in some case by check the sheets list based on index instead, resolve issue #457 - Add multi-row inline strings support, relate issue #464
- Fix overflow numeric cell value on the 32-bit operating system, relate issue #386
- Fix go module dependency errors, relate issue #466 and #480
- Fix file corrupted when calling
SetSheetPrOptions()in some case, resolve issue #483
Performance
- Performance optimization, faster for reading the file, relate issue #439
Miscellaneous
- Add missing error check in
SetSheetRow() - Optimize code, combine internal functions:
workBookRelsWriter,drawingRelsWriterintorelsWriter;
drawingRelsReader,workbookRelsReader,workSheetRelsReaderintorelsReader
addDrawingRelationships,addSheetRelationshipsintoaddRels
v2.0.1
We are pleased to announce the release of version 2.0.1. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the change log.
Release Notes
The most notable changes in this release are:
Notable Features
- New function
SetHeaderFooter()init set header and footer support, relate issue #394 - New function
SetColStyle()support to set style by columns, relate issue #397 - New functions
SetDefaultFont()andGetDefaultFont()support to change the default font, relate issue #390 - New functions
SetDocProps()andGetDocProps(), support to set and get doc properties, relate issue #415 - The function
AddChart()now support to create new 26 types of chart: cone, pyramid and cylinder series chart for column and bar, surface 3D, wireframe Surface 3D, contour and wireframe contour,bubble and a 3D bubble chart, unsupported chart type add error prompt - New functions
SetDefinedName()andGetDefinedName()support to set and get defined names - More detailed error information when open the encrypted file
- The function
AddPicture()now support to add TIF and TIFF format images
Bug Fixes
- Fix structs fields definition errors and keep double quotes in data validation formula
- Fix comments duplicate caused by inner counting errors, resolve issue #373
- Fix read file error caused by getting sheet map errors, resolve issue #404
- Enhance compatibility with PivotTable, resolve issue #413
- Enhance compatibility with font size and a bold style, resolve issue #411, #420, and #425
- Enhance recalculation adjuster to resolve file broken issue, after insert or remove rows in some case, relate issue #421 and #424
- Fix hide sheet does not work in some case, relate issue #418
- Fix multi-chart series caused file corrupted by avoid accent theme color index overflow, relate issue #422
Miscellaneous
- Improve unit testing coverage (Line Coverage: 96.05%)
- Optimize code, fix golint issues
v2.0.0
We are pleased to announce the release of version 2.0.0. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release Notes. A full list of changes is available in the change log.
Release Notes
The most notable changes in this release are:
Breaking Change
The following table lists the changes to the functions for v2.0.0 compared to the v1.4.1:
| Function | Add error return |
Row Number Change* | Delete | New Addition |
|---|---|---|---|---|
| ToALphaString | × | × | √ | × |
| TitleToNumber | × | × | √ | × |
| SplitCellName | × | × | × | √ |
| JoinCellName | × | × | × | √ |
| ColumnNameToNumber | × | × | × | √ |
| ColumnNumberToName | × | × | × | √ |
| CellNameToCoordinates | × | × | × | √ |
| CoordinatesToCellName | × | × | × | √ |
| SetCellFloat | × | × | × | √ |
| SetCellStyle | √ | × | × | × |
| InsertCol | √ | × | × | × |
| RemoveCol | √ | × | × | × |
| RemoveRow | √ | √ | × | × |
| InsertRow | √ | √ | × | × |
| DuplicateRow | √ | × | × | × |
| DuplicateRowTo | √ | × | × | × |
| SetRowHeight | √ | × | × | × |
| GetRowHeight | √ | × | × | × |
| GetCellValue | √ | × | × | × |
| GetCellFormula | √ | × | × | × |
| GetCellHyperLink | √ | × | × | × |
| SetCellHyperLink | √ | × | × | × |
| SetCellInt | √ | × | × | × |
| SetCellBool | √ | × | × | × |
| SetCellStr | √ | × | × | × |
| SetCellDefault | √ | × | × | × |
| GetCellStyle | √ | × | × | × |
| SetCellValue | √ | × | × | × |
| MergeCell | √ | × | × | × |
| SetSheetRow | √ | × | × | × |
| SetRowVisible | √ | √ | × | × |
| GetRowVisible | √ | √ | × | × |
| SetRowOutlineLevel | √ | √ | × | × |
| GetRowOutlineLevel | √ | √ | × | × |
| GetRows | √ | × | × | × |
| Columns | √ | × | × | × |
| SearchSheet | √ | × | × | × |
| GetPicture | √ | × | × | × |
| GetColVisible | √ | × | × | × |
| SetColVisible | √ | × | × | × |
| GetColOutlineLevel | √ | × | × | × |
| SetColOutlineLevel | √ | × | × | × |
| SetColWidth | √ | × | × | × |
| GetColWidth | √ | × | × | × |
| GetMergeCells | √ | × | × | × |
| ProtectSheet | √ | × | × | × |
| UnprotectSheet | √ | × | × | × |
| UpdateLinkedValue | √ | × | × | × |
| SetSheetVisible | √ | × | × | × |
| adjustHelper | √ | × | × | × |
| adjustMergeCells | √ | × | × | × |
| adjustAutoFilter | √ | × | × | × |
| prepareCell | √ | × | × | × |
| setDefaultTimeStyle | √ | × | × | × |
| timeToExcelTime | √ | × | × | × |
| addDrawingChart | √ | × | × | × |
| addDrawingVML | √ | × | × | × |
| addDrawingPicture | √ | × | × | × |
| getTotalRowsCols | √ | × | × | × |
| checkRow | √ | × | × | × |
| addDrawingShape | √ | × | × | × |
| addTable | √ | × | × | × |
| workSheetReader | √ | × | × | × |
| copySheet | √ | × | × | × |
* From version 2.0.0 all row manipulation methods use Excel row numbering starting with 1 instead of zero-based numbering which takes place in some methods in earlier versions, related issue #349.
Notable Features
- New function
DuplicateRowTo()has been added for duplicate row to specified row position - The function
SetPageLayout()now support to set page orientation, related issue #318 - The function
SetPageLayout()now support to set page size
Bug Fixes
- Fix the issue that creates a blank fill if no fill is specified in the style format
- Fix the issue that data validation list in the excel sheet disappears formula characters greater than
255, related issue #339 - Fix the issue corrupted spreadsheet file after deleting formula of the cell, related issue #346
- Fix the issue that
GetComment()returns incorrect mapping between worksheets and comments in some case, related issue #345 - Fix the issue #346, resolve the issue corrupted spreadsheet file after deleting formula of cell
- Fix the issue #377, avoid empty column in GetRows result
Performance
- Performance optimization, faster for adding comments, related issue #347, faster add images, charts, and shapes, related issue #274
- Adding the same image should create a drawing referencing the
already stored copy of the image, related issue #359
Miscellaneous
- Typo fixed and godoc updated
- Tests made stronger again, go1.12 added to tests matrix
