Go language library for reading and writing Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets
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.
The most notable changes in this release are:
RemoveRow
slice bounds out of range cause panic in some case, resolve #686We 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.
The most notable changes in this release are:
SetSheetFormatPr
and GetSheetFormatPr
, support to set and get worksheet formatting properties, relate issue #635GetCols
and Cols
, support columns iteratorAddChart
support specified logarithmic scale on Y-axis, relate issue #661AddPicture
support insert image autofit cellCalcCellValue
update, formula calculation engine working in progress: 12 new functions has been added, COUNTA
, ISBLANK
, ISERR
, ISERROR
, ISEVEN
, ISNA
, ISNONTEXT
, ISODD
, ISNUMBER
, MEDIAN
, NA
, SUMIF
row
element without r
attribute in the worksheetWe 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.
The most notable changes in this release are:
GetSheetName
, GetSheetIndex
, GetActiveSheetIndex
and SetActiveSheet
, relate issue #485GetSheetList
to get the worksheet, chart sheet, and dialog sheet name list of the workbookAddChartSheet
support create chart sheet, relate issue #451UnsetConditionalFormat
, support for remove conditional format, relate issue #571DeleteDataValidation
, support delete data validation, relate issue #348SetCellRichText
, support set rich text, relate issue #172InsertPageBreak
and RemovePageBreak
, support for insert and remove page break, relate issue #492AddPivotTable
API changed, support for setting date field subtotal and names of the pivot table, relate issue #582AddPivotTable
support to set the filter for the pivot table, relate issue #598AddPivotTable
allow empty filter, data, and rows in the pivot tableExcelDateToTime
function to convert excel date to timeStyle
structs to allow create the style for cells by given JSON or structure pointer, relate issue #470greaterThanOrEqual
and lessThanOrEqual
operators did not work when setting the conditional format for cell by SetConditionalFormat
, resolve issue #608StreamWriter
, resolve issue #576DuplicateRowTo
function doesn't duplicate merged cells, resolve issue #586GetComments
, resolve issue #345GetCellValue
in some case, resolve issue #602r
attribute in a row element, fix returned empty value when GetCellValue
in some casegetRowHeight
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.
The most notable changes in this release are:
DeleteDefinedName
, support to delete the defined names of the workbook or worksheetSetPageMargins
and GetPageMargins
, support to for getting setting page marginsDeleteChart
and DeletePicture
, support to delete chart and images from the worksheetAddChart
now support to create the pie of pie chart, the bar of pie chart and combo chart
The function AddChart
now support to set minor grid lines for the chart, relate issue #501
The function AddChart
now support to set line width of the line chart, relate issue #505
The function AddChart
now support to set a major unit and tick label skip for the chart, relate issue #538SetColVisible
now support to set column visible by column rangeAddPivotTable
allow empty columns in the pivot table, relate issue #511MergeCell
function support overlapped merge cells, resolve issue #533NewStreamWriter
and Flush
to generate the new worksheet with huge amounts of data. Compared to non-streaming writing, reduced memory usage by 90.2%, time cost by 53%GetRows
function read data as streaming. Reduced memory usage by 78.9%, relate issues #146 and #382We 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.
The most notable changes in this release are:
Upgrade requirements Go language version is 1.10 or later.
AddPivotTable()
has been addedAddSparkline()
has been addedGroupSheets()
and UngroupSheets()
support group and ungroup sheetsAddVBAProject()
to support add vbaProject.bin file which contains functions and/or macrosSetPageLayout()
now support to support to set fit to width and height, relate issue #432SetSheetViewOptions()
support to set whether to "show a zero in cells that have zero value" nowSetCellFormula()
, support set the type of the formula and the ref attributeRemoveRow()
out of range in some case by recalculate offset for merged cells adjuster, resolve issue #437Save()
method in the iteration, resolve issue #443workbook.xml.rels
to fix read file failed in some case, resolve issue #442GetSheetName
doesn't work in some case by check the sheets list based on index instead, resolve issue #457SetSheetPrOptions()
in some case, resolve issue #483SetSheetRow()
workBookRelsWriter
, drawingRelsWriter
into relsWriter
;
drawingRelsReader
, workbookRelsReader
, workSheetRelsReader
into relsReader
addDrawingRelationships
, addSheetRelationships
into addRels
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.
The most notable changes in this release are:
SetHeaderFooter()
init set header and footer support, relate issue #394SetColStyle()
support to set style by columns, relate issue #397SetDefaultFont()
and GetDefaultFont()
support to change the default font, relate issue #390SetDocProps()
and GetDocProps()
, support to set and get doc properties, relate issue #415AddChart()
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 promptSetDefinedName()
and GetDefinedName()
support to set and get defined namesAddPicture()
now support to add TIF and TIFF format imagesWe 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.
The most notable changes in this release are:
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.
DuplicateRowTo()
has been added for duplicate row to specified row positionSetPageLayout()
now support to set page orientation, related issue #318SetPageLayout()
now support to set page size255
, related issue #339GetComment()
returns incorrect mapping between worksheets and comments in some case, related issue #345We are pleased to announce the release of version 1.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 change log.
The most notable changes in this release are:
WriteTo()
has been added, it implements io.WriterTo to write the fileSearchSheet()
has been added to get coordinates by given worksheet name, cell value, and regular expression. Relate issue #277ProtectSheet()
and UnprotectSheet()
has been added to prevent other users from accidentally or deliberately changing, moving, or deleting data in a worksheet, relate issue #273GetMergeCells()
has been added, support to get all merged cells from a worksheet currentlygo module
AddChart()
now support to create 2D / 3D area, stacked area, 100% stacked area charts, relate issue #311sharedStringsReader()
, resolve issue #276GetRows()
return value avoid empty rows in the tail of the worksheet, resolve issue #195GetSheetMap()
failed in some case, resolve issue #297We are pleased to announce the release of 1.4.0.
The most notable changes in this release are:
AddChart()
, AddComment()
, AddPicture()
, AddShape()
, AddTable()
and SetConditionalFormat()
GetComments()
has been added for support retrieves all comments and returns a map of worksheet name to the worksheet commentsRGBToHSL()
and HSLToRGB()
has been added for support convert RGBA, HSL colorNewDataValidation()
and series functions DataValidation.SetDropList()
, DataValidation.SetError()
, DataValidation.SetInput()
, DataValidation.SetRange()
, DataValidation.SetSqref()
and DataValidation.SetSqrefDropList()
has been added for suppport data validationAddPictureFromBytes()
has been added, relate issue #259GetCellFormula()
now supports shared formula types, relate issue #227NewSheet()
cause file issue, related issue #249deepcopy
function that was using encoding/gob serialization and deserialization