Release 1.13 is a particularly large update, bringing numerous improvements, fixes, and code cleanups.
Significant effort has gone into optimizing speed and memory usage, especially for larger workbooks. Several bottlenecks have been addressed, and internal file handling has been streamlined by skipping certain checks that previously triggered multiple interactions per cell with the R session. Through extensive benchmarking and profiling, we managed to reduce our internal cc
data frame a few columns. Since this data frame contains information on all available cells in a worksheet, even entirely blank columns were consuming memory. Additionally, in the process of optimizing flexlsx
, @pteridin reformatted the wb_add_border()
function, preventing the creation of unnecessary borders.
On the Rcpp side, this release includes an updated version of the pugixml
library and improvements to xlsb parsing. The Rcpp
code has also undergone style cleanups, now loosely following a clang formatting style. Speaking of styles, many previously under-documented functions now include better descriptions of their arguments and provide guidance when unexpected input is detected. However, this also led to a breaking change: certain style objects now require wb_color()
input, whereas earlier versions were more lenient. This change has affected the rempsyc
and correlation
packages, causing revdep issues that are not yet resolved in CRAN releases. Users of these packages may want to wait for the next correlation update on CRAN. (The affected code was originally written in 2022, and it’s impressive that it remained functional through nearly two years of openxlsx2 updates!)
Also, we now have a hex icon!
A lot of time was spent on various bug fixes, cleanups, and minor improvements here and there. A number of the fixes and features were developed based on user requests and needs. If you find a bug, please let us know!
The 1.13 release is the 25th openxlsx2
release available on CRAN. Even though the package is now semi-stable, it is always a good idea to make regular backups and check the output files. A look at the issue tracker and the NEWs is highly recommended.
What's Changed
- [write] share formulas without A1 cell reference by @JanMarvin in #1223
- [misc] cleanups and avoid some unneeded
Rcpp::String
by @JanMarvin in #1224 - [misc] add a hex icon by @JanMarvin in #1225
- [misc] return a named list in dims_to_rowcol() by @JanMarvin in #1226
- [styles] fm_txt() handles
colour
by @JanMarvin in #1229 - [misc] Create shapes by @JanMarvin in #1231
- Add favicons to pkgdown site by @olivroy in #1232
- [gha] updates and use
covr
dev by @JanMarvin in #1233 - [misc] cleanups by @JanMarvin in #1234
- [misc] cleanups to vignettes and ignore files by @JanMarvin in #1235
- [styles] add checks for style arguments by @JanMarvin in #1236
- [styles] extend documentation by @JanMarvin in #1237
- [styles] improve column width "auto". by @JanMarvin in #1239
- [xlsb] add PtgAreaErr by @JanMarvin in #1240
- [pugix] update to pugixml 1.15 by @JanMarvin in #1242
- [xlsb] add custom sheet view by @JanMarvin in #1241
- [Rcpp] cleanup format by @JanMarvin in #1245
- [xlsb] fix linebreak in formulas by @JanMarvin in #1247
- Add the missing right parenthesis by @Shitao5 in #1248
- [misc] read all formula attributes by @JanMarvin in #1250
- [write] No cc_out by @JanMarvin in #1251
- [misc] attemt to reduce the number of variables in
cc
by @JanMarvin in #1253 - [write] add
cc$typ
only with string_nums by @JanMarvin in #1254 - [save] No copy sheet data by @JanMarvin in #1256
- [write] Add
wb_set_base_font()
args towrite_xlsx()
(#1260) by @uhkeller in #1262 - Reworked borders by @pteridin in #1261
- [misc] fixes for
return_linter
by @JanMarvin in #1271 - [write] treat class
glue
ascharacter
by @JanMarvin in #1270 - Release 1.13 by @JanMarvin in #1258
New Contributors
- @Shitao5 made their first contribution in #1248
- @uhkeller made their first contribution in #1262
- @pteridin made their first contribution in #1261
Full Changelog: v1.12...v1.13