This is a very old question, but it still comes across in search, so I think it is useful to point people to the tidyxl package.
tidyxl::xlsx_cells() reads an Excel spreadsheet in the form of a data frame, where each row represents a separate cell in the spreadsheet with its address (for example, A1 ), contents and properties.
tidyxl::xlsx_formats() returns a nested list of all the various cell formats in an Excel spreadsheet.
The local_format_id column in the data frame returned by xlsx_cells() allows you to search for formatting information for each cell in the list returned by xlsx_formats() .
Additional information is included in the tidyxl vignette .
source share