Skip to content

readxl 1.1.0

Compare
Choose a tag to compare
@jennybc jennybc released this 20 Apr 04:23
  • read_excel() and excel_sheets() associate a larger set of file extensions with xlsx and are better able to guess the format of a file with a nonstandard or missing extension. This is about deciding whether to treat a file as xls or xlsx. (#342, #411, #457)

    • excel_format() is the newly-exported format-guessing function.
    • format_from_ext() is a low-level helper, also exported, that only consults file extension. In addition to the obvious interpretation of .xls and .xlsx, the extensions .xlsm, .xltx, and .xltm are now associated with xlsx.
    • format_from_signature() is a low-level helper, also exported, that consults the file's signature (a.k.a. magic number). It's handy for files that lack an extension.
  • Embedded libxls has been updated to address security vulnerabilitities identified in late 2017 (#441, #442).

  • xlsx structured as a "minimal conformant SpreadsheetML package" can be read. Most obvious feature of such sheets is the lack of an xl/ directory in the unzipped form. (xlsx, #435, #437)

  • Reading xls sheet with exactly 65,536 rows no longer enters an infinite loop. (xls, #373, #416, #432 @vkapartzianis)

  • Doubles, including datetimes, coerced to character from xls now have much higher precision, comparable to the xlsx behaviour. (xls, #430, #431)

  • Integer-y numbers larger than 2^31 are coerced properly to string (xls, #346)

  • Shared strings are only compared to NA strings after lookup, never on the basis of their index. (xlsx, #401)

  • Better checks and messaging around nonexistent files. (#392)

  • Add $(C_VISIBILITY) to compiler flags to hide internal symbols from the dll. (#385 @jeroen)

  • Numeric data in a logical column now coerces properly to logical. (xlsx, #385 @nacnudus)