Determine if files are xls or xlsx (or from the xlsx family).
excel_format(guess = TRUE) is used by read_excel() to
determine format. It draws on logic from two lower level functions:
format_from_ext() attempts to determine format from the file extension.
format_from_signature() consults the file signature or "magic
number".
File extensions associated with xlsx vs. xls:
xlsx: .xlsx, .xlsm, .xltx, .xltm
xls: .xls
File signatures (in hexadecimal) for xlsx vs xls:
xlsx: First 4 bytes are 50 4B 03 04
xls: First 8 bytes are D0 CF 11 E0 A1 B1 1A E1
Usage
excel_format(path, guess = TRUE)
format_from_ext(path)
format_from_signature(path)
Value
Character vector with values "xlsx", "xls", or NA.
Arguments
path
Path to the xls/xlsx file.
guess
Logical. If the file extension is absent or not recognized, this
controls whether we attempt to guess format based on the file signature or
"magic number".