rnaturalearth
rnaturalearth finished its sp exit and is now optimising how the data actually arrives.
A side-by-side editorial comparison of readxl and writexl — release velocity, themes, recent moves, and the top alternatives to consider.
readxl has shipped almost nothing but vendored-dependency upkeep since 2022.
readxl reads Excel files into R without requiring Excel, bundling the libxls and RapidXML C libraries. Four of its last six releases state outright that they contain no user-facing changes, existing instead to satisfy CRAN, silence a sanitizer warning, or re-embed a patched libxls.
writexl spent nine years refusing to do formatting, then shipped all of it in 2.0.0.
For most of its history writexl was a deliberately minimal wrapper: bump the vendored libxlsxwriter, handle NA and Date coercion correctly, support a list of data frames for multiple sheets, and nothing else. 2.0.0, released August 2026, changes that — near-full libxlsxwriter coverage, cell/worksheet/workbook formatting, cell comments, an `xl_cell_general` class carrying value, formula and hyperlink, a cell-by-cell refactor, libxlsxwriter 1.2.4, and memory-safety work. It landed the same day as 1.5.4, a typo fix on the old line.
readxl reads Excel files into R without requiring Excel, bundling the libxls and RapidXML C libraries. Four of its last six releases state outright that they contain no user-facing changes, existing instead to satisfy CRAN, silence a sanitizer warning, or re-embed a patched libxls.
The real work has become stewardship of vendored C code: absorbing libxls security fixes and keeping the package compiling across Alpine, UBSAN and successive cpp11 versions. 1.5.0 breaks the streak only slightly, with a network-drive permission warning fix and a cpp11 floor raised to dodge a segfault.
Expect the same rhythm — releases triggered by toolchain breakage or an upstream libxls patch rather than new spreadsheet-reading capability.
For most of its history writexl was a deliberately minimal wrapper: bump the vendored libxlsxwriter, handle NA and Date coercion correctly, support a list of data frames for multiple sheets, and nothing else. 2.0.0, released August 2026, changes that — near-full libxlsxwriter coverage, cell/worksheet/workbook formatting, cell comments, an `xl_cell_general` class carrying value, formula and hyperlink, a cell-by-cell refactor, libxlsxwriter 1.2.4, and memory-safety work. It landed the same day as 1.5.4, a typo fix on the old line.
The package has changed category. Its selling point was being the dependency-free, opinion-free way to get a data frame into xlsx; 2.0.0 makes it a formatting-capable writer that now compares itself against openxlsx2 in its own test suite. The cell-by-cell refactor is what made that possible and is also the largest structural change in the package's history. Note that a single contributor drove essentially all of it.
Expect follow-up releases fixing edge cases in the new formatting and comment APIs — the cell-by-cell rewrite is too large to land clean, and the 2.0.0 notes already mention an off-by-one in date columns.
Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either readxl or writexl.
rnaturalearth finished its sp exit and is now optimising how the data actually arrives.
rgbif is steadily pushing users off paged searching and onto real downloads.
rstanarm is community-maintained now, tracking Stan and lme4 rather than adding models.
taxa started a ground-up rewrite in 2021 and has published almost nothing since.
rotl's whole release history is keeping name matching honest against a moving taxonomy.
taxize spends its releases absorbing other people's API changes, one dead source at a time.
See all readxl alternatives → · See all writexl alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. writexl is currently shipping more aggressively (velocity 6.3 vs 0.0), with 1 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. writexl is currently shipping more aggressively (velocity 6.3 vs 0.0), with 1 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.
Top readxl alternatives in Analytics are ranked by recent ship velocity. Browse the "readxl alternatives" section above for the current picks, or visit /alternatives/readxl for the full list with editorial commentary on each.
Top writexl alternatives in Analytics are ranked by recent ship velocity. Browse the "writexl alternatives" section above for the current picks, or visit /alternatives/writexl for the full list with editorial commentary on each.