Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
356 commits
Select commit Hold shift + click to select a range
cf3e016
Support adjust formula for entire cols/rows reference (#1702)
TeeRenJing Oct 29, 2023
5bba8f9
This improves compatibility for adjusting tables and formula referenc…
xuri Oct 30, 2023
b41a6cc
Support to adjust formula cross worksheet on inserting/deleting colum…
TeeRenJing Oct 31, 2023
7291e78
Support update volatile dependencies on inserting/deleting columns/rows
xuri Nov 1, 2023
4e936da
This closes #1706 and closes #1708
xuri Nov 2, 2023
f753e56
Fix number format scientific notation zero fill issues (#1710)
phperic Nov 4, 2023
fe639fa
This closes #1125, support update drawing objects on inserting/deleti…
kjushka Nov 6, 2023
6cc1a54
This closes #1712, reduce memory consumption (#1713)
krstak Nov 7, 2023
a0252bd
Support update defined names on inserting/deleting columns/rows
xuri Nov 7, 2023
134865d
Update data validation type and operator's enumerations (#1714)
lpxxn Nov 8, 2023
e014a8b
Support update conditional formatting on inserting/deleting columns/r…
ByteFlyCoding Nov 10, 2023
c7acf4f
Support update data validations on inserting/deleting columns/rows
xuri Nov 10, 2023
2499bf6
Support 5 new kinds of conditional formatting types
xuri Nov 12, 2023
5e247de
Support set time period type conditional formatting (#1718)
yangliyl Nov 14, 2023
3bdc2c5
This add new exported function GetHeaderFooter (#1720)
15535382838 Nov 15, 2023
57faaf2
Fix panic on GetPictureCells without drawing relationships parts (#1721)
TajangSec Nov 16, 2023
6220a79
This closes #1723, fix panic on read workbook in some cases (#1692)
lujin1 Nov 18, 2023
55e4d4b
The GetCellRichText function support to return inline rich text (#1724)
parkoo Nov 20, 2023
6251d49
Fixed invalid shared string table index on set cell value (#1725)
ZhangXiao1024 Nov 21, 2023
41259b4
Recalculate and use the same shared string count and unique count to …
xuri Nov 22, 2023
bce2789
This support set column style with default width in sheet props setti…
zcgly Nov 24, 2023
866e7fd
This closes #1729, support copy conditional format and data validatio…
bramvbilsen Nov 28, 2023
a16182e
This closes #1732, saving workbook with sorted internal part path (#1…
user65536 Nov 30, 2023
18a160c
Support unset custom row height if height value is -1 (#1736)
tianaiyouqing Dec 2, 2023
77ece87
This fix some function names in comment (#1747)
cuishuang Dec 7, 2023
866f308
This closes #1745, prevent panic on get conditional format without ab…
xuri Dec 7, 2023
7b3dd03
Remove unused exported struct ShapeColor (#1746)
cuishuang Dec 9, 2023
284345e
This closes #1749, fix incorrect adjust merged cells on remove rows (…
CooolNv Dec 13, 2023
dfaf418
This closes # 1704, support set the data labels position for the char…
yuegu520 Dec 13, 2023
00d6259
This closes #664, support get embedded cell images (#1759)
oneweek20169902 Dec 15, 2023
37e2d94
Breaking changes: Go 1.18 and later required
xuri Dec 19, 2023
e998c37
This closes #1767, change struct field tabRatio date type to float64
xuri Dec 22, 2023
8831afc
This recover the Sizes field in the ChartSeries data type removed in …
xuri Dec 25, 2023
bb8e5da
This closes #1769 and closes #1770, support multiple conditional form…
xuri Dec 28, 2023
f4e3951
This closes #1770, fix incorrect multiple conditional formats rules p…
xuri Dec 30, 2023
7926565
This closes #1777, fix the GetStyle or GetConditionalStyle function t…
xuri Jan 9, 2024
50e23df
ref #65, support _xlfn.ANCHORARRAY formula function (#1784)
3zmx Jan 18, 2024
4eb3486
This closes #1783, support set conditional formatting with multiple c…
327674413 Jan 20, 2024
5399572
This closes #1786, support set fill color of the chart (#1788)
melf-xyzh Jan 22, 2024
9b07898
This closes #1789, delete VML shape on delete comment (#1790)
L4nn15ter Jan 24, 2024
e4497c4
ref #65, new formula function: DBCS (#1791)
rememberher Jan 25, 2024
9a68553
This closes #1792, support to update defined names reference when ren…
ooooooobh Jan 29, 2024
99e91e1
This closes #1794, add new GetBaseColor function (#1798)
xxxwang1983 Jan 30, 2024
a258e3d
Fix CalcCellValue does not return raw value when enable RawCellValue …
funa12 Feb 2, 2024
bba155e
This closes #1805, support set chart axis font family, size and strik…
coolbit Feb 4, 2024
9cbe3b6
This closes #1807, calculation engine support date and formula type c…
taitaking Feb 4, 2024
ee2ef15
This closes #1815, cell value reading functions inherit the Options s…
vivekkairi Feb 15, 2024
02b84a9
This closes #1820, converted styleFillVariants from slice to func (#1…
edwardfward Feb 24, 2024
688808b
This closes #1819, formula calculation engine support array formulas
xuri Feb 25, 2024
bb603b3
Clear slave cells value when merging cells (#1824)
mirgong Feb 27, 2024
7b4da39
This closes #1819, closes #1827, formula function ISNUMBER, OR and FI…
YueChenXu-LucasYue Feb 29, 2024
9d4c2e6
This closes #1825, made AddDataValidation and DeleteDataValidation fu…
JackMin1314 Mar 1, 2024
963a058
Optimize getSharedFormula to avoid runtime.duffcopy (#1837)
paolobarbolini Mar 3, 2024
f20bbd1
This closes #1830, closes #1831, and closes #1833
xuri Mar 4, 2024
4ed4938
This closes #1835, support get data validations which storage in the …
iEvan-lhr Mar 6, 2024
585ebff
Typo fix for the comment of the extractStyleCondFuncs variable (#1846)
yetyear Mar 13, 2024
4eb088c
This fix performance impact introduced in #1692 (#1849)
ha5ky Mar 15, 2024
9e884c7
This closes #1847, support apply number format with alignment (#1852)
lizhichao Mar 19, 2024
5975d87
This closes #1851, and closes #1856 fix formula calculation result ro…
realzuojianxiang Mar 22, 2024
703b737
This closes #1861, fix missing parentheses in the adjusted formula
xuri Mar 25, 2024
838232f
Add support for get the Microsoft 365 cell images (#1857)
msackman Mar 26, 2024
5e500f5
Introduce new exported PictureInsertType enumeration (#1864)
yyle88 Mar 27, 2024
ffad7ae
Support get rich data value rels index from rich value part (#1866)
yunkeweb Mar 28, 2024
9999221
This closes #1865, unescape newline character in stream writer
xuri Apr 1, 2024
5dc22e8
Support get the cell images inserted by IMAGE formula function
xuri Apr 2, 2024
5f8a5b8
This closes #1867, breaking changes: change the data type for the Con…
xuri Apr 3, 2024
3e636ae
This closes #1874, reduces memory usage for the GetRows function (#1875)
iraj720 Apr 11, 2024
f8487a6
This closes #1879, compatible with the escaped quote symbol in none f…
jianxinhou Apr 18, 2024
055349d
Fix a v2.8.1 regression bug, error on duplicate rows, if conditional …
xuri Apr 25, 2024
7715c14
This closes #1886, remove the namespace prefix for the default spread…
xuri Apr 27, 2024
781c384
This closes #1889, refs #1732 and #1735 (#1890)
barlevd Apr 30, 2024
a64efca
This fixes #1888, read internal media files with absolute path
xuri May 3, 2024
5f58354
Add unit test for the stream writer to improved line of code coverage…
18409615759 May 14, 2024
42ad4d6
This closes #1906, fix a v2.8.1 regression bug introduced by commit d…
xuri May 24, 2024
0c3dfb1
This closes #1903, made GetCellStyle function concurrency safe
xuri May 25, 2024
08d2500
This fixed can not found code coverage on Windows (#1908)
qijinkui May 27, 2024
c349313
This closes #1910, fix a v2.8.1 regression bug introduced by commit 8…
xuri May 29, 2024
1a99dd4
This closes #1921, fix set axis format doesn't work in combo chart (#…
user1121114685 Jun 17, 2024
f04aa8d
Add new AutoFitIgnoreAspect field in the GraphicOptions data type (#1…
wa8n Jun 19, 2024
4e6457a
This closes #1926, fix secondary vertical axis title is not displayed…
vsemichev Jun 21, 2024
b18b480
Optimize ColumnNumberToName function performance, reduce about 50% me…
zhayt Jul 5, 2024
7999a49
This closes #1937, fix GetPivotTables returns incorrect data range (#…
ShowerBandV Jul 6, 2024
53b6515
This closes #1940, SetCellHyperLink function now support remove hyper…
xuri Jul 7, 2024
431c310
This closes #1944, add new TickLabelPosition field in the ChartAxis d…
imink Jul 11, 2024
307e533
This closes #1942, fix percent sign missing in formatted result for z…
samkeke Jul 12, 2024
9c27836
This closes #1945, an error will be return if column header cell is e…
xuri Jul 13, 2024
68a1704
This fix missing horizontal axis in scatter chart with negative value…
pjh591029530 Jul 17, 2024
4dd3447
This closes #1955, refs #119, support to set cell value with an IEEE …
xuri Jul 18, 2024
d81b4c8
This closes #1957, fix missing shape macro missing after adjusted dra…
xuri Jul 19, 2024
30c4cd7
This close #1963, prevent the GetStyle function panic when theme with…
xuri Jul 23, 2024
d21b598
This closes #1968, closes #1969
xuri Jul 31, 2024
9a38657
This related for #720 and closes #1965, add new NumFmt field in the P…
xuri Aug 17, 2024
c805be1
This related for #810, add new functions DeleteSlicer and GetSlicers …
zhangyimingdatiancai Aug 23, 2024
9c460ff
Add support for applying number format expression with language/locat…
wanghaochen2024 Aug 27, 2024
8f87131
This closes #1979, fix decimal value round issue (#1984)
centurion-hub Aug 31, 2024
29366fd
Add new fields for pivot table options and pivot field options
xuri Sep 1, 2024
0447cb2
This close #1985, fix incorrect result of cell value after apply gene…
peng Sep 2, 2024
aca04ec
This closes #1987, support absolute paths for pictures (#1988)
slashdotdash Sep 4, 2024
8c0ef7f
This closes #1983, support create combo chart with same types
xuri Sep 5, 2024
ad85417
This closes #1989, fix incorrect result of formula functions XIRR and…
xuri Sep 8, 2024
02189fb
Ref #65, new formula function DOLLAR (#1992)
ArcholSevier Sep 12, 2024
41c7dd3
This closes #1993, support to set and get pivot table classic layout
xuri Sep 21, 2024
bebb802
This closes #1999, fix error on GetCellRichText function when read ce…
liuwangchao Sep 27, 2024
b23e5a2
This closes #1076, add new function MoveSheet to support changing she…
Zncl2222 Sep 30, 2024
f1d1a5d
This closes #2004, support apply number format for time and duration …
xuri Oct 10, 2024
d1937a0
This closes #1885, add new CultureNameJaJP, CultureNameKoKR and Cultu…
wushiling50 Oct 21, 2024
af190c7
This closes #2014, fix redundant none type pattern fill generated
xuri Oct 23, 2024
0d5d1c5
This closes #2015, fix a v2.9.0 regression bug introduced by commit 7…
xuri Oct 25, 2024
b7375bc
This closes #1395, add new function SetLegacyDrawingHF support to set…
imirkin Nov 4, 2024
d2be5cd
The SetPageLayout function support set page order of page layout (#2022)
imirkin Nov 8, 2024
30d3561
Rename SetLegacyDrawingHF to AddHeaderFooterImage (#2023)
imirkin Nov 9, 2024
5f446f2
This closes #2025, support set chart axis text direction and rotation
xuri Nov 15, 2024
c936188
This closes #2029, use a faster deepcopy library (#2030)
Juneezee Nov 22, 2024
3ca60f8
This closes #2033, support set gap width and overlap for column and b…
xuri Dec 8, 2024
b53bad3
Breaking changes: Go 1.20 and later required
xuri Dec 12, 2024
8e04909
Update unit test for internal function unzipToTemp
xuri Dec 14, 2024
5ef4a36
This closes #2048, fix missing vertical and horizontal border styles
xuri Dec 20, 2024
9934bf5
This closes #2046, add new function AddIgnoredErrors support to ignor…
xuri Dec 21, 2024
3f6ecff
This closes #2052, support to sets the format of the chart series dat…
xuri Dec 29, 2024
caf22e4
This closes #2059, support delete one cell anchor image
xuri Jan 1, 2025
4b4d4df
This closes #2061, fix border styles missing after saved workbook (#2…
Arpelicy Jan 4, 2025
af422e1
This closes #1954 and closes #2051, fix get pivot tables panic in som…
xuri Jan 5, 2025
e9efc47
Correct comments of the internal function setSheetOutlineProps (#2066)
zhuhaicity Jan 14, 2025
b936343
This closes #2068, breaking changes: SetCellInt function required int…
xuri Jan 21, 2025
a45d47d
Fix: int overflow of function
xxf0512 Nov 26, 2024
7e614c5
This closes #2072, support adjust data validations cross multiple wor…
gypsy1234 Jan 22, 2025
0e0e2da
This close #2075, add new function SetColStyle for streaming writer t…
mengpromax Jan 24, 2025
b19e594
Fix GetStyle function can not get VertAlign format (#2079)
hly-717 Jan 25, 2025
4324622
This closes #2058, support apply number format with hash and zero pla…
xuri Jan 26, 2025
05ed940
Handle the format '?' in number formatting (#2080)
kurtinge Feb 7, 2025
718417e
This closes #2083, fix subexpression calculation (#2084)
IvanHristov98 Feb 8, 2025
5264285
This closes #2091, update GitHub Actions workflow configuration, test…
xuri Feb 19, 2025
c6d161f
Reduce trim cell value memory allocation for blank cells (#2096)
artur-chopikian Mar 2, 2025
aef20e2
Introduce 2 new functions SetCalcProps and GetCalcProps (#2098)
romanshevelev Mar 4, 2025
d6931a8
Add optional value checking for CalcMode and RefMode calculation prop…
xuri Mar 6, 2025
2bb89f4
This closes #2102, fix panic on set chart title font (#2103)
LZCZ Mar 16, 2025
d399e7b
Breaking changes: Go 1.23 and later required for upgrade of dependenc…
hm3248 Mar 16, 2025
e9d27c7
This closes #2108, Add docs to SheetPropsOptions function for how to …
moisespsena Mar 23, 2025
91d36cc
Fix performance regression in v2.9.0, reduce trim cell value memory a…
artur-chopikian Mar 25, 2025
3650e5c
Avoid looking up absent cells in `rangeResolver` (#2111)
paolobarbolini Mar 29, 2025
e12da49
This fixes #2056, fix incorrect formula calculation result caused by …
xuri Apr 4, 2025
6007d25
Simplifying code with directly swap the values of two variables (#2114)
timesince Apr 9, 2025
f85dae6
This closes #2113, AddFormControl function support set cell link for …
xuri Apr 11, 2025
ce9061f
This fix corrupted workbook generated when any inner ZIP64 file's siz…
xuri Apr 16, 2025
55cf0d4
Improve cell read performance by optimizing XML parsing (#2116)
shcabin Apr 18, 2025
0f19d7f
This closes #2117, support add data table for chart
xuri Apr 21, 2025
b9f2c9e
This closes #1961, add shared formula cell cache for speedup calculat…
shcabin Apr 26, 2025
3ccbdaa
Clean shared formula cell cache on remove formula and simplify adjust…
xuri Apr 27, 2025
efdfc52
This closes #2119, remove all temporary files on close workbook (#2120)
tgulacsi Apr 28, 2025
8fdc26e
This fixes #2001 and fixes #2002. Breaking changes: offsets no longer…
R3dByt3 May 7, 2025
d230ecd
This closes #2126, fix sheet name error in defined name after rename …
R3dByt3 May 8, 2025
094ff39
This related with #2123, made editAs attribute value empty for one ce…
Now-Shimmer May 9, 2025
2c3d13f
Using binary search instead of sequential search for cell (#2129)
shcabin May 12, 2025
4180c20
This closes #2130, remove shared formula in calculation chain when re…
xuri May 12, 2025
72b731a
This closes #2132, fix a v2.9.1 regression bug introduced by commit c…
xuri May 14, 2025
bb1105b
This closes #2133, support delete data validations in the ext list (#…
DengY11 May 17, 2025
c853113
Update comment for xlsxDataValidation data structure (#2142)
JerryLuo-2005 May 24, 2025
b65c16b
Add set and get `Charset` and `VertAlign` to font definitions (#2141)
aliavd1 May 25, 2025
5bd9647
Skip fallback to default font size when create style if font size les…
xiaoq898 May 26, 2025
c46099e
This closes #2145, remove all leading equal symbol when set cell form…
xuri May 27, 2025
c5934ea
Update number format parser, fix parser dropped empty literals in the…
Now-Shimmer Jun 2, 2025
a33bd1a
This closes #2019, closes #2150, fix panic on get string item with in…
xuri Jun 4, 2025
9fe3a92
Update dependencies modules (#2156)
Jameshu0513 Jun 14, 2025
d434acd
This closes #2146, introduce 2 new functions GetCustomProps and SetCu…
mengpromax Jun 14, 2025
55e152f
This closes #2024, add TempDir field in the Options data type (#2024)…
mengpromax Jun 25, 2025
4ac39a8
This closes #2161, fix panic on read unsupported pivot table cache so…
Leopard31415926 Jul 5, 2025
38f11c4
Support set dash line and marker border type of charts
xuri Jul 6, 2025
f47b3df
This closes #2167, count characters as single runes in characters len…
xuri Jul 7, 2025
249b593
This closes #2169, support to set font for chart legends (#2171)
Copilot Jul 10, 2025
dd07139
This closes #2176, support set transparency for chart and shape
xuri Jul 17, 2025
fbcf657
This closes #2180, fix add pivot table caused workbook corrupted on E…
hongjr03 Jul 25, 2025
7e71d92
This improvement number format support
xuri Jul 26, 2025
fa4906a
Support apply number format with the Czech and Danish language
xuri Jul 27, 2025
4a354cb
Support apply number format with the Danish and Divehi language
xuri Jul 27, 2025
b674220
Using relative sheet target path in the internal workbook relationshi…
juefeng Jul 29, 2025
d13cd91
Add optional parameter withoutValues for the GetMergeCells function (…
black-butler Jul 30, 2025
ce06e70
Optimize the GetSheetDimension function by parse worksheet XML in str…
Neugls Jul 31, 2025
11dcc8f
Support apply number format with the Dutch language
xuri Aug 1, 2025
5d2ee53
This closes #2192, made special date format result consistent with Ex…
Copilot Aug 5, 2025
b372bd3
Add check transparency value when create chart (#2198)
Leo012345678 Aug 9, 2025
845a274
This closes #2199, add new function SetZipWriter for custom ZIP write…
a2659802 Aug 19, 2025
2e1d05f
This closes #2205, fix string counting and truncation for cell length…
torotake Sep 1, 2025
9e0c94e
Add 4 stock chart support for AddChart and AddChartSheet function (#2…
crush-wu Sep 2, 2025
c95ba17
Add formula function BAHTTEXT support (#2187)
Now-Shimmer Sep 4, 2025
aca2959
Add unit tests for the BAHTTEXT formula function (#2148)
zhuyanhuazhuyanhua Sep 4, 2025
42840b3
Update GitHub Actions workflow configuration, test on Go 1.25.x (#2213)
zhang-lun Sep 16, 2025
a44e440
Breaking changes: Go 1.24.0 and later required for upgrade of depende…
YafeiXie1 Sep 29, 2025
c12dca0
This related to #2080, support blank padding in number formatting (#2…
shcabin Oct 5, 2025
5252183
Update docs for Go version 1.24.0 required
xuri Oct 13, 2025
ccaddf2
Fix extractPivotTableField function panic on invalid data type reflec…
pjh591029530 Oct 22, 2025
896a086
This closes #2224, fix apply number format code panic cause by Chines…
Sang-Hyuk Oct 23, 2025
f0a56d6
This closes #2226, optimize overlap merged cell ranges check (#2228)
wangacc Oct 25, 2025
78a8a43
Update docs for the SetDefinedName function (#2229)
kenny-not-dead Oct 28, 2025
541ca7c
Use tab instead of space indent in doc code block (#2230)
kenny-not-dead Oct 29, 2025
8325cf6
Update TIF image for fix generated TestSetSheetBackgroundFromBytes.xl…
pegasscience-cyber Nov 2, 2025
d97f1a3
Return error if adding comment on a cell which already exist comment …
jesusfelix951-lang Nov 8, 2025
3d23585
optimize: convert using continued fractions fundamental recurrence fo…
shcabin Nov 10, 2025
bfa81ac
This closes #2234, allowing insert ICO format images
xuri Nov 12, 2025
8bf639c
Fix: skipped column style bug in StreamWriter's SetRow (#2235)
radam9 Nov 13, 2025
e799e95
This closes #2237, fix panic when open encrypted workbook in some cas…
sqdtss Nov 14, 2025
8c97b95
This closes #2165, add formula function UNIQUE support (#2166)
IvanHristov98 Nov 20, 2025
97fd800
Add unit tests for the formula function UNIQUE
xuri Nov 21, 2025
8a99deb
This closes #1862, closes #1904 and closes #1948 (#1742)
yasarluo Nov 26, 2025
8990800
This closes #2057, support calculation cache to improve CalcCellValue…
DengY11 Nov 27, 2025
f1ac51e
Refs #2144, remove calcCacheMu field in the File data structure (#1440)
Nov 28, 2025
7216935
This closes #2139, avoid lookupLinearSearch malloc slice (#2140)
zhuzhengyang Dec 4, 2025
4ff4208
Add unit test for formula calculation engine (#209)
schbook Dec 5, 2025
418be6d
This closes #2223, limit calculation engine processing to actual data…
rhinewg Dec 12, 2025
85ebb61
ref #65, new formula function: SORTBY (#2245)
jpoz Dec 15, 2025
5618929
The GetPictures function support return partial format properties (#1…
sides-flow Dec 26, 2025
86cef47
This related #1813, mitigate inserted image aspect ratio incorrect is…
t4traw Dec 29, 2025
04f6d6c
Ref #2075, add new function SetColVisible for streaming writer to sup…
ijustyce Jan 5, 2026
0b5dc32
This closes #2212, add new function SetColOutlineLevel for streaming …
d9c4 Jan 6, 2026
265e50a
This closes #2157, the GetPictures function support return alt text o…
xuri Jan 7, 2026
16306a8
Define default worksheet and theme XML path as constants (#2246)
kenny-not-dead Jan 8, 2026
47b5c30
Support set one cell anchor positioning type for shape and slicer
xuri Jan 11, 2026
800dd0f
Fix light color theme index overflow caused workbook corrupted
xuri Jan 12, 2026
23a03c5
This closes #2038, add 3 new kinds of icon sets support for condition…
imirkin Jan 13, 2026
76eeba8
UnsetConditionalFormat support remove 3 triangles, 3 stars, 5 boxes i…
xuri Jan 14, 2026
a880146
Ref #2208, add new Name field in GraphicOptions to support set and ge…
xuri Jan 16, 2026
8b325dc
Fix DeleteDataValidation with unordered sqref ranges (#2248)
atmngw Jan 17, 2026
7b57409
Support delete conditional format rule or data validation by specific…
xuri Jan 18, 2026
37b730a
Apply font family settings for east asian and complex script fonts (#…
Flashcqxg Jan 20, 2026
6ad51b2
Support set drop lines and high-low lines for area and line charts (#…
Flashcqxg Jan 21, 2026
f5f68f8
Ref #1607, introduce new functions GetHyperLinkCells and GetSheetProt…
xuri Jan 22, 2026
2dcfb60
This closes #2240, fix GetCellValue returning shared string index for…
olivere Jan 24, 2026
38eb7c1
Trim single quotes from sheet names to fix calculation engine resolve…
jpoz Jan 26, 2026
4917cff
This closes #2254, fixx duplicate style creation when using default f…
susautw Jan 27, 2026
52dd99a
This closes #2259, add value check for prevent using invalid fill typ…
ohauer Feb 11, 2026
5ad5ab3
Update GitHub Actions workflow configuration, test on Go 1.26.x (#2262)
yan00353-0729 Feb 24, 2026
3e9bc14
Fixes #2263, prevent panic on invalid row reference in CalcCellValue …
Rynzie02 Feb 27, 2026
37b6a8f
Fix formula exact text matching not match substrings (#2267)
jpoz Mar 6, 2026
4c59bad
Breaking changes: Go 1.25.0 and later required for upgrade of depende…
tvso Mar 7, 2026
7634227
Support implicit intersection and fix regex criteria anchoring (#2268)
jpoz Mar 8, 2026
5d6adc3
This closes #92, support auto fit columns width (#1386)
yyt030 Mar 10, 2026
421c405
Made AutoFitColWidth unhide the hidden columns if those columns have …
xuri Mar 12, 2026
a2bda9b
Fix autoFitColWidth overriding width with latest value instead of max…
hwo411 Mar 13, 2026
fdede72
This closes #2273, fix chart sheet does not show charts on Excel Onli…
JimLee0921 Mar 14, 2026
2966ca5
Update minimum Go language version required in documentation (#2277)
egordionok Mar 16, 2026
df42882
Check same data field appears both in pivot table column, rows and fi…
xuri Mar 17, 2026
79a82f9
This closes #2154, support set and get selected items for pivot table…
zhuyanhuazhuyanhua Mar 21, 2026
ae7a616
Replace manual nested if-blocks with the built-in min and max functio…
kenny-not-dead Mar 22, 2026
48a958f
Breaking changes for the AddChart, AddChartSheet and AddShape functio…
debugdoctor Mar 23, 2026
0aec9b7
Unlock mutex before returning error (#2281)
Journeyman150 Mar 25, 2026
08c8da0
Fix formula calculate accuracy for functions IMSECH, IMSQRT, CHIINV, …
ivolkoff Mar 26, 2026
d7456a4
Fix formula calculate accuracy for function BINOM.INV (#107)
plandem Mar 26, 2026
2694a36
Update dependencies module to fix vulnerabilities (#271)
martskins Apr 2, 2026
827094a
Correct FREQUENCY output and simplify implementation (#2286)
shcabin Apr 12, 2026
4de2989
This closes #2289, fix AddComment assigning wrong authorID when auth…
narasaka Apr 14, 2026
94f8a47
Prevent panic on add chart with no fill series (#2294)
lawrence3699 Apr 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
File renamed without changes.
3 changes: 2 additions & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
patreon: xuri
github: xuri
open_collective: excelize
patreon: xuri
ko_fi: xurime
liberapay: xuri
issuehunt: xuri
Expand Down
44 changes: 0 additions & 44 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

81 changes: 81 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Bug report
description: Create a report to help us improve
body:
- type: markdown
attributes:
value: |
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.

- type: textarea
id: description
attributes:
label: Description
description: Briefly describe the problem you are having in a few paragraphs.
validations:
required: true

- type: textarea
id: reproduction-steps
attributes:
label: Steps to reproduce the issue
description: Explain how to cause the issue in the provided reproduction.
placeholder: |
1.
2.
3.
validations:
required: true

- type: textarea
id: received
attributes:
label: Describe the results you received
validations:
required: true

- type: textarea
id: expected
attributes:
label: Describe the results you expected
validations:
required: true

- type: input
id: go-version
attributes:
label: Go version
description: |
Output of `go version`:
placeholder: e.g. 1.23.4
validations:
required: true

- type: input
id: excelize-version
attributes:
label: Excelize version or commit ID
description: |
Which version of Excelize are you using?
placeholder: e.g. 2.9.0
validations:
required: true

- type: textarea
id: env
attributes:
label: Environment
description: Environment details (OS, Microsoft Excel™ version, physical, etc.)
render: shell
validations:
required: true

- type: checkboxes
id: checkboxes
attributes:
label: Validations
description: Before submitting the issue, please make sure you do the following
options:
- label: Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
required: true
- label: The provided reproduction is a minimal reproducible example of the bug.
required: true
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
44 changes: 0 additions & 44 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Feature request
description: Suggest an idea for this project
body:
- type: markdown
attributes:
value: |
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.

- type: textarea
id: description
attributes:
label: Description
description: Describe the feature that you would like added
validations:
required: true

- type: textarea
id: additional-context
attributes:
label: Additional context
description: Any other context or screenshots about the feature request here?

- type: checkboxes
id: checkboxes
attributes:
label: Validations
description: Before submitting the issue, please make sure you do the following
options:
- label: Check that there isn't already an issue that requests the same feature to avoid creating a duplicate.
required: true
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->
<!--- See how your change affects other areas of the code, etc. -->

## Types of changes

Expand Down
File renamed without changes.
10 changes: 5 additions & 5 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: monthly


- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
10 changes: 5 additions & 5 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

strategy:
fail-fast: false
Expand All @@ -20,16 +20,16 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v6

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v4

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v4
26 changes: 19 additions & 7 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,46 @@ jobs:
test:
strategy:
matrix:
go-version: [1.16.x, 1.17.x, 1.18.x, 1.19.x]
os: [ubuntu-latest, macos-latest, windows-latest]
go-version: [1.25.x, 1.26.x]
os: [ubuntu-24.04, macos-15-intel, macos-26, windows-latest]
targetplatform: [x86, x64]

runs-on: ${{ matrix.os }}

steps:

- name: Install Go
uses: actions/setup-go@v3
uses: actions/setup-go@v6
with:
go-version: ${{ matrix.go-version }}
cache: false

- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v6

- name: Get dependencies
run: |
env GO111MODULE=on go vet ./...
- name: Build
run: go build -v .

- name: Build on ARM
if: runner.os == 'Linux'
run: |
GOARCH=arm GOARM=5 go build .
GOARCH=arm GOARM=6 go build .
GOARCH=arm GOARM=7 go build .
GOARCH=arm64 go build .
GOARCH=arm64 GOOS=android go build .

- name: Test
run: env GO111MODULE=on go test -v -timeout 30m -race ./... -coverprofile=coverage.txt -covermode=atomic
run: env GO111MODULE=on go test -v -timeout 60m -race ./... -coverprofile='coverage.txt' -covermode=atomic

- name: Codecov
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v6
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
file: coverage.txt
files: coverage.txt
flags: unittests
name: codecov-umbrella
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BSD 3-Clause License

Copyright (c) 2016-2023 The excelize Authors.
Copyright (c) 2016-2026 The excelize Authors.
Copyright (c) 2011-2017 Geoffrey J. Teale
All rights reserved.

Expand All @@ -27,4 +27,4 @@ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
16 changes: 12 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

## Introduction

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&trade; 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. This library needs Go version 1.16 or later. The full docs can be seen using go's built-in documentation tool, or online at [go.dev](https://pkg.go.dev/github.com/xuri/excelize/v2) and [docs reference](https://xuri.me/excelize/).
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&trade; 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. This library needs Go version 1.25.0 or later. The full docs can be seen using go's built-in documentation tool, or online at [go.dev](https://pkg.go.dev/github.com/xuri/excelize/v2) and [docs reference](https://xuri.me/excelize/).

## Basic Usage

Expand Down Expand Up @@ -148,7 +148,7 @@ func main() {
f.SetSheetRow("Sheet1", cell, &row)
}
if err := f.AddChart("Sheet1", "E1", &excelize.Chart{
Type: "col3DClustered",
Type: excelize.Col3DClustered,
Series: []excelize.ChartSeries{
{
Name: "Sheet1!$A$2",
Expand All @@ -166,7 +166,11 @@ func main() {
Values: "Sheet1!$B$4:$D$4",
}},
Title: excelize.ChartTitle{
Name: "Fruit 3D Clustered Column Chart",
Paragraph: []excelize.RichTextRun{
{
Text: "Fruit 3D Clustered Column Chart",
},
},
},
}); err != nil {
fmt.Println(err)
Expand Down Expand Up @@ -243,4 +247,8 @@ This program is under the terms of the BSD 3-Clause License. See [https://openso

The Excel logo is a trademark of [Microsoft Corporation](https://aka.ms/trademarks-usage). This artwork is an adaptation.

gopher.{ai,svg,png} was created by [Takuya Ueda](https://twitter.com/tenntenn). Licensed under the [Creative Commons 3.0 Attributions license](http://creativecommons.org/licenses/by/3.0/).
The Go gopher was created by [Renee French](https://go.dev/doc/gopher/README). Licensed under the [Creative Commons 4.0 Attributions license](http://creativecommons.org/licenses/by/4.0/).

## Gold Sponsors

<a href="https://www.gravityclimate.com" alt="Gravity"><img width="120" src="https://xuri.me/excelize/images/vendor/gravityclimate.com.svg" alt="Gravity"></a>
Loading