Writes one worksheet per table. This is deliberately one-way: a spreadsheet cell holds a single value, so several SeaTable column types have no faithful representation.
What is lost
multiple-select,collaboratorandimagecells are joined with", ".filecells are reduced to their file names.linkandlink-formulacells reference rows in other tables and are exported as their display values.formulacolumns export their computed value, not the formula.Views, filters, colours, column widths and every other piece of base configuration have no cell to live in.
harbouR reports which columns were flattened. To keep everything, write
a .dtable with hb_write_dtable() instead.
See also
hb_write_csv(), hb_write_dtable()
Other dtable:
as_tibble.harbour_dtable(),
hb_asset_path(),
hb_dtable(),
hb_read_csv(),
hb_read_dtable(),
hb_read_xlsx(),
hb_validate_dtable(),
hb_write_csv(),
hb_write_dtable(),
is_harbour_dtable(),
length.harbour_dtable(),
names.harbour_dtable(),
print.harbour_dtable(),
summary.harbour_dtable()
Examples
base <- hb_read_dtable(
system.file("extdata", "example.dtable", package = "harbouR")
)
out <- tempfile(fileext = ".xlsx")
hb_write_xlsx(base, out)
#> ! 7 columns were flattened to text.
#> • Samples$Tags, Samples$Collaborators, Samples$Photos, Samples$Reports,
#> Samples$Where, Samples$Action, and Samples$Signature
#> ℹ A spreadsheet cell holds one value. Use `hb_write_dtable()` to keep the
#> structure.