Skip to content

Releases: JanMarvin/openxlsx2

v1.9

08 Sep 08:04
e3257c3
Compare
Choose a tag to compare

Release 1.9 brings the usual bug fixes and internal cleanups as well as a few selected new features, and our documentation is now available in dark mode.

A lot of work has been invested in the integration of shared formulas. It is now possible to create shared formulas, similar to how you can drag cells horizontally or vertically in spreadsheet software. Gone are the days of having to be creative to create formulas just to sum a few columns. To use this function, select a dimension where you want to place the formulas, add a formula and select shared = TRUE. We can now also show shared formulas with show_formula = TRUE.

The wb_dims() function has been extensively rewritten as part of the maintenance work to simplify the code and eliminate corner case issues. User requests included improvements to creating spreadsheet headers (#1085), reading formulas as formula with wb_to_df() (#1072), as well as a fix in wb_to_df()'s skip_hidden_row, which previously only worked with wbWorkbooks and not with paths (#1120), and we fixed a bug with unknown fonts (#1079). Finally, we have fixed an issue with CRANs oldrel Mac builds so that CRAN binaries are available again for all R variants.

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.9 release is the 21st 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

Full Changelog: v1.8...v1.9

v1.8

07 Jul 14:39
fa80047
Compare
Choose a tag to compare

Release 1.8 brings the usual bug fixes and internal cleanups as well as a few selected new features.

Most of the work went into our xlsb parser. This has been significantly improved, files that previously could not be imported or were not imported correctly now work. We provide support for "rich" text, hopefully parse array functions much better and even provide support for data validation. There are still many things untouched (like pivot tables and conditional formatting), but loading files should work better than ever. Our previous statement remains, we only offer this as an option for our users, and the recommendation remains, if you want to make sure the file has been imported correctly, use spreadsheet software to convert the file.

We have started to deprecate some features that were used in openxlsx and were useful in early stages of openxlsx2, but are now long since replaced by our own functions or are now internalized and should not be used by users directly. Users should see a warning and a note on what to do. If in doubt, please open a discussion. Everybodys darling wb_dims() can now handle multiple column selections and we've fixed a nasty bug that slowed down writing files with non-consecutive numeric formats (like dates in columns A and C).

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.8 release is the 20th 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

Full Changelog: v1.7...v1.8

v1.7

02 Jun 17:17
fb5b855
Compare
Choose a tag to compare

Release 1.7 brings the usual bug fixes and internal cleanups as well as a few selected new features.

The support for MIP that was added in 1.6 has been further improved. Previously we added a check for internal folders not being handled by openxlsx2 which was triggered on the [trash] folder, this has been reported and fixed. This folder was added by third party software, similar to a binary blob added when synchronizing files with a third party cloud software. A long time hidden bug was reported and fixed, when columns with special formats surrounded columns in a different format, the styling was applied to those columns as well. Previously, if there were two date columns to the left and right of another column, the column in the middle was also formatted as a date.

There has been support for slicers for some time. This has been extended and now we can create timelines for pivot tables. Our wb_add_timeline() was created to work similarly to wb_add_slicer() on pivot tables created with wb_add_pivot_table(). It is possible to select a specific period, obviously the dim placement and different styles.

We have started to extend our work on the undo changes function. Now we provide wb_remove_conditional_formatting(), wb_remove_slicer() and wb_remove_timeline(). This work has not yet been completed.

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.7 release is the 19th 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

Full Changelog: v1.6...v1.7

v1.6

01 May 10:11
70058cf
Compare
Choose a tag to compare

Release 1.6 brings the usual bug fixes and internal cleanups as well as a few selected new features. Big thanks again to @olivroy for his ongoing help with documentation fixes and internal cleanups!

We fulfilled a user request by adding MIP support, which is a kind of confidentiality stamp added to the xlsx file. This only works in certain business environments as we couldn't test it ourselves, thanks for the request and the testing! In addition, it is now possible to add custom properties via wb_set_properties().

Initial support for richData folders has been added, so it is possible to read spreadsheets with images embedded in cells. (This has not been fully tested, please let us know if you encounter problems). After a long time, another nice addition is the added support for non-contiguous dimensions, finally something like "A1:B2,B4:C5" can be used with e.g. wb_add_fill() and it is even possible to write data into different cells!

Among the bug fixes and internal cleanups: It is now possible to write data frames with zero rows, we've fixed the remaining few cases of partial matching, and improved some error and warning messages to let our users know what exactly is going on.

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.6 release is the 18th 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

Full Changelog: v1.5...v1.6

v1.5

26 Mar 18:04
925bec2
Compare
Choose a tag to compare

Release 1.5 brings the usual bug fixes and a few improvements to vector writing. The release was a bit bumpier than previous releases as the package is now suggested by three CRAN packages and even an import for one. Thanks for your trust in us!

Our beloved dims handler wb_dims() received another round of improvements and is now able to handle the positioning of dims using a new from_dims argument, you guessed it. Additionally, it is possible to use other positioning arguments (below, above, left, right) that can be given integer offsets (wb_dims(from_dims = "A1", right = 2), places the new dimension two columns right to the previous dimension). Quite exited to see if this works as well as I hope!

A feature request has been solved with the new openxlsx2.na.strings option, which can be used to change the default na.strings, and the page setup feature has been placed on a new foundation. What caused the bumpy release was a revdep failure discovered at the last minute by CRAN: this was caused by us changing how vectors can be positioned. Previously, it was necessary to transpose vectors before writing them to the worksheet with t(vector). Since version 1.5 it is possible to position the vector with dims only. The initial implementation caused a test in one of the CRAN packages to fail, and of course this had to be fixed first.

A lot of time went into 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 release 1.5 is the 17th openxlsx2 release which is available under CRAN. Even though the package is now now semi-stable, it is always a good idea to make regular backups and check output files regularly. A look at the issue tracker and the NEWs is recommended in any case.

What's Changed

Full Changelog: v1.4...v1.5

v1.4

15 Feb 23:28
ee3590b
Compare
Choose a tag to compare

Release 1.4 brings the usual bug fixes and some improvements to pivot tables and new style options.

An important change that users will notice immediately is the switch to a new Office theme and from Calibri as the default font to Aptos Narrow. The included themes have been slightly extended and we have optimized wb_set_base_font() and added wb_set_base_colors()/wb_get_base_colors(). Yes, now it is possible to change the font and colors of a worksheet theme directly from openxlsx2.

This release also brings another round of improvements for pivot tables. It is now possible to calculate formulas (a previous user request), and sorting elements should finally work as intended. In the often neglected write_xlsx() function, it is now possible to freeze columns and rows, something that did not work before and was discovered when writing tests and examining coverage reports.

A lot of time went into 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 release 1.4 is the 16th openxlsx2 release which is available under CRAN. Even though the package is now now semi-stable, it is always a good idea to make regular backups and check output files regularly. A look at the issue tracker and the NEWs is recommended in any case.

What's Changed

Full Changelog: v1.3...v1.4

v1.3

12 Jan 10:29
6ed65bf
Compare
Choose a tag to compare

Release 1.3 brings the usual bug fixes and some improvements to documentation.

Even though I don't like working on performance issues, this version brings long overdue improvements to wb_add_data(). In particular, writing larger matrix objects should now be much faster. In addition, wb_load() has received minor improvements and a much longer documentation text. The documentation for wb_add_pivot_table() has also been improved. Further documentation can be found in the WIP book.

In wb_to_df() an error has been fixed where the column name was omitted in combination with col_names = FALSE for logical columns. Due to issues raised by @Layalchristine24, a new function wb_set_cell_style_across() has been added. This is required in conjunction with some options in wb_protect_worksheet() such as deleteColumns/deleteRows. The currency style has also been reset to the originally intended behavior. It is now also possible to change the color of comments or add a background image for them.

A lot of time went into 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 release 1.3 is the 15th openxlsx2 release which is available under CRAN. Even though the package is now now semi-stable, it is always a good idea to make regular backups and check output files regularly. A look at the issue tracker and the NEWs is recommended in any case.

What's Changed

Full Changelog: v1.2...v1.3

v1.2

29 Nov 11:30
69ff56b
Compare
Choose a tag to compare

Release 1.2 brings the usual bug fixes and some improvements to pivot tables and copy cells.

Since its first implementation, wb_add_pivot_table() has undergone a number of unfortunately still largely undocumented changes. It is now possible to select outline and compact to change the appearance of the pivot table and to select subsets of data to be included with choose. This also works with slicers and is a nice feature for pre-selecting pivot tables. Note, however, that this does not work with pivot tables loaded via wb_load() and that support for modifying these loaded pivot tables is not currently planned.

Another function that has been reworked a little is wb_copy_cells(). This is another of the many sparsely documented functions, but actually one that has some nice features. For example, similar to copying cells in spreadsheet programs, it is possible to copy the cell as a value or as is. It is also possible to copy cells as references and it is also possible to transpose what is being copied.

Some long overlooked escaping issue with class(df$x) <- "formula" was fixed. Which strangely didn't bother anybody for several months, but once the first report came in and was fixed, various duplicates of this issue appeared. Thanks to @olivroy options for min and max width were restored. And since this release it is also possible to use openxlsx2 with webr (see #849 for details).

A lot of time went into 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 release 1.2 is the 14th openxlsx2 release which is available under CRAN. Even though the package is now now semi-stable, it is always a good idea to make regular backups and check output files regularly. A look at the issue tracker and the NEWs is recommended in any case.

What's Changed

Full Changelog: v1.1...v1.2

v1.1

23 Oct 10:41
ee9edb4
Compare
Choose a tag to compare

Release 1.1 is a release with many new features to try, in addition to the usual bug fixes and improvements to our existing code. Grouping columns is now a bit more user-friendly, we've updated the pugixml library, and our tests can be run in parallel again. We've added new functions for getting and setting file properties that improve and extend the existing ways to set them, a feature requested and worked on by @olivroy.

In addition, some long-requested features have been added. Reading xlsb files, cloning across workbooks, and adding slicers. Please be aware that all of these features are still somewhat experimental, have known limitations, and probably contain a few bugs. Therefore, if you try this, you should make more backups than usual and test the features more thoroughly than usual.

This release is the first to include our own xlsb file reader. With this it should be possible to load xlsb files similar to xlsx/xlsm files. Please be aware that this file parser is still limited (and probably will remain this way) and should only be considered as a sort of last resort when no other tool is available to convert the binary openxml file into a simple xlsx file. If you try this, please have a look at the NEWS file first.
Another long requested feature has been added in the form of cloning worksheets across workbooks. This extends the wb_clone_worksheet() function with a new from argument that allows copying worksheets across workbooks.
Last but not least, support for pivot tables has been further improved. It is now possible to sort by elements and it is possible to add a slicer to a pivot table after adding it.

A lot of time went into 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 release 1.1 is the 13th openxlsx2 release which is available under CRAN. Even though the package is now now semi-stable, it is always a good idea to make regular backups and check output files regularly. A look at the issue tracker and the NEWs is recommended in any case.

What's Changed

Full Changelog: v1.0...v1.1

v1.0

25 Aug 07:09
2265f42
Compare
Choose a tag to compare

Release 1.0 is finally here. While it's just a number in the grand scheme of things, the goal is that we've achieved a semi-stable API. This means that the public API will not change in the foreseeable future, unless pressing reasons force us to do so. That being said, a lot has been done and worked on in the last few weeks.

Thanks to the work of @olivroy, the long-neglected documentation in examples and vignettes has been overhauled and now looks better than ever. Examples have been added where they were missing and cleaned up where they were outdated. The entire pkgdown page has been reworked. Building on the consistent arguments work we did in the previous version, this really makes the version shine.

A lot of time went into various bug fixes, cleanups and minor improvements here and there. Among the few fixes, there is one that requires a detailed explanation. It was discovered that we were not handling the 1904 date format correctly. As a result, our dates were always 4 years off for this date format, which was mainly used by Excel on the Mac. That's a little shameful that it took so long and came up rather by accident. Hopefully it's a sign that this format is rarely used. However, it's certainly a reminder that no code is error-free, not even the most scrutinized in the world, so it's always wise to remain vigilant and question unusual output. In addition, a number of fixes and features were developed based on user requests and needs. If you find an error, please let us know!

The release 1.0 is the twelfth openxlsx2 release which is available under CRAN. Even though the package is now now semi-stable, it is always a good idea to make regular backups and check output files regularly. A look at the issue tracker and the NEWs is recommended in any case.

What's Changed

Full Changelog: v0.8...v1.0