readxlsb
package can read Excel binary (.xlsb) files into R. Here are some info taken from the package vignettes:
read_xlsb(path, sheet, range, col_names, col_types, na, trim_ws, skip, ...)
sheet:
Either a name, or the index of the sheet to read. Index of the first sheet is 1. If the sheet name is embedded in the range argument, or implied if range is a named range, then this argument is ignored
range:
range can be specified as
- A named range. Named ranges are not case sensitive
- In Sheet!A1 notation
- In Sheet!R1C1 notation
- As a cellranger::cell_limits object
col_names
- TRUE: The first row is used for column names. Empty cells result in a column name of the form ‘column.i’
- FALSE: Column names will be ‘column.i’
- Character vector: vector containing column names.
col_types
Can be implied from the spreadsheet or specified in advanced. When specifying types, options are
- “logical” (or “boolean”), “numeric” (or “double”), “integer”, “date” and “string” (or “character”)
- Use “skip” (or “ignore”) to skip a column
na
A character string that is interpret as NA. This does not effect the implied data type for a column.
trim_ws
Should leading and trailing whitespaces be trimmed from character strings?
skip
The number of rows to skip before reading data.
library(readxlsb)
res = read_xlsb(path = system.file("extdata", "TestBook.xlsb", package = "readxlsb"),
range = "PORTFOLIO",
debug = TRUE)
ls(res$env)
#> [1] "content" "named_ranges" "sheets" "stream"
res$env$named_ranges
#> name range sheet_idx first_column first_row
#> 1 INFO_RELEASE FirstSheet!$A$11 0 1 11
#> 2 OUTLOOK 'My SecondTab'!$A$1:$C$13 1 1 1
#> 3 PORTFOLIO FirstSheet!$A$3:$C$9 0 1 3
#> 4 SAVED_DATETIME FirstSheet!$C$13 0 3 13
#> 5 TITLE FirstSheet!$A$1 0 1 1
#> last_column last_row
#> 1 1 11
#> 2 3 13
#> 3 3 9
#> 4 3 13
#> 5 1 1
Created on 2020-07-07 by the reprex package (v0.3.0)