## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")

## ----setup--------------------------------------------------------------------
library(unexcel)

## -----------------------------------------------------------------------------
path <- system.file("extdata", "typed-numbers.xlsx", package = "unexcel")

unexcel_xlsx(path, restore = FALSE)

## -----------------------------------------------------------------------------
unexcel_xlsx(path)

## -----------------------------------------------------------------------------
excel_date_system(path)
excel_date_system(system.file("extdata", "legacy-1904.xlsx", package = "unexcel"))

## -----------------------------------------------------------------------------
excel_date_cells(path)

## -----------------------------------------------------------------------------
excel_date_columns(path)

## -----------------------------------------------------------------------------
excel_sheets(path)

unexcel_xlsx(path, sheet = "month-first")

## -----------------------------------------------------------------------------
unexcel_xlsx(path, output = "character")$dose

## -----------------------------------------------------------------------------
restore_day_month(c(45746, 12.5, 45823))

## -----------------------------------------------------------------------------
restore_day_month(45746, year_window = 1990:2000) # outside the window: untouched
restore_day_month(19999)                          # outside the serial range

## -----------------------------------------------------------------------------
restore_day_month(44284, date_system = "1904")
restore_day_month(45746, order = "md")

## -----------------------------------------------------------------------------
df <- data.frame(dose = c(45746, 45823), weight = c(70.5, 62.1))
fix_serial_columns(df)

## -----------------------------------------------------------------------------
fix_serial_columns(df, cols = "dose")

## -----------------------------------------------------------------------------
df <- unexcel_xlsx(path, restore = FALSE)   # stand-in for any other reader
cols <- excel_date_columns(path)

for (i in seq_len(nrow(cols))) {
  df[[cols$name[i]]] <- restore_day_month(
    df[[cols$name[i]]],
    date_system = excel_date_system(path),
    order = cols$field_order[i]
  )
}
df

