The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

readODS 2.3.0

Bug fixes

readODS 2.2.0

readODS 2.1.1

Bug fixes

readODS 2.1.0

CRAN version

readODS 2.0.7

append and update of write_ods in C++

Significant speed improvement; also xml2 is no longer a dependency.

POTENTIALLY BREAKING: reading single-row / single-column (F)ODS and col_names / row_names

Prior the previous stable release, <= 1.9.0, reading single-row / single-column with col_names = TRUE / row_names = TRUE produced errors.

In v1.9.0 (and the stable version v2.0.0 on CRAN), reading single-row / single-column (F)ODS with col_names = TRUE / row_names = TRUE will override the two parameters and return a non-empty data frame. This behaviour is consistent with other data reading R functions (see #146) such as readxl::read_xlsx(), readr::read_csv(), data.table::fread(), and openxlsx::read.xlsx(). For these functions, either a empty or zero-row data.frame is returned.

We changed this behaviour. The following will return a zero-row data.frame by default.

read_ods(write_ods(mtcars[0,])) ## col_names is TRUE by default

However, the previous behaviour is in the stable release and backward compatibility is needed. If you need that previous behaviour, please set the options("readODS.v200" = TRUE)

options("readODS.v200" = TRUE)
read_ods(write_ods(mtcars[0,])) ## col_names is TRUE by default

readODS 2.06

write_ods and write_fods allow list of data frames

Fix #56; and it is now the same as writexl::write_xlsx().

write_ods(list("some_car_data" = mtcars, "some_flower_data" = iris))

bug fixes

readODS 2.05

Reverse the decision to deprecate ods_sheets

See discussion #133

readODS 2.04

col_types can be character (“shorthand”) or list

fix #135 and the review by Dr Ruedni

# Specifying col_types as shorthand, the third column as factor; other by guessing
read_ods("starwars.ods", col_types = "??f")
# Specifying col_types as list
read_ods("starwars.ods", col_types = list(species = "f"))

readODS 2.0.3

Add support for writing flat ODS

write_fods is available, fix #103

readODS 2.0.2

performance improvement for write_ods

write_ods has been partially rewritten in C++ #140

Ensure R 3.6 compatibility

To ensure UTF-8 everywhere, fix #107

Bump requirement to R>=3.6

Bug fixes

readODS 2.0.1

Fix writing data time columns error #137

dttm column was incorrectly written with one more column. It’s now fixed.

readODS 2.0.0

BREAKING CHANGES: Changed write_ods(na_as_string) behaviour

The default for na_as_string was getOption("write_ods_na", default = FALSE) in v1.8. The default now is FALSE, but it writes NA as blank cell (instead of the buggy behaviour of writing NA in the original type, which is rendered as 0 by LibreOffice for numeric types. see #79). This behaviour is compatible with the default of writexl::write_xlsx.

The behaviour of na_as_string = TRUE is the same as in v1.8: writes NA as string.

BREAKING CHANGES: Removed get_num_sheets_in_{f}ods()

The descendant of getNrOfSheetsInODS() is not very useful. If you really need to have the similar function:

length(list_ods_sheets("starwars.ods"))

BREAKING CHANGES: Removed several obsolete parameters of write_ods()

BREAKING CHANGES: Limited size of sheets writable with write_ods()

BREAKING CHANGES: read_ods now outputs as tibble by default

Defer the removal of ods_sheets to v3

There are many reverse dependencies using ods_sheets.

readODS 1.9.0

BREAKING CHANGES: Removed read.ods and ods_sheets

These have been deprecated for several years.

list_ods_sheets

read_ods

read_fods

write_ods

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.