Whether a file may be be xlsx, xlsm, xltx or xltm (rather than xls or xlt), based on the file signature or "magic number", rather than the filename extension.
Details
Only 'maybe', not 'is', because the xlsx magic number is common to all zip files, not specific to xlsx files. The inverse, 'is_xls' isn't possible either, because the xls magic number is common to other Microsoft Office files such as .doc and .ppt.
This uses some logic from Jenny Bryan's commit to the readxl package.
Examples
examples_xlsx <- system.file("extdata/examples.xlsx", package = "tidyxl")
examples_xlsm <- system.file("extdata/examples.xlsm", package = "tidyxl")
examples_xltx <- system.file("extdata/examples.xltx", package = "tidyxl")
examples_xltm <- system.file("extdata/examples.xltm", package = "tidyxl")
examples_xlsb <- system.file("extdata/examples.xlsb", package = "tidyxl")
examples_xls <- system.file("extdata/examples.xls", package = "tidyxl")
maybe_xlsx(examples_xlsx)
#> [1] TRUE
maybe_xlsx(examples_xlsm)
#> [1] TRUE
maybe_xlsx(examples_xltx)
#> [1] TRUE
maybe_xlsx(examples_xltm)
#> [1] TRUE
maybe_xlsx(examples_xlsb)
#> [1] TRUE
maybe_xlsx(examples_xls)
#> [1] FALSE