Пакет openxlsx имеет возможность доступа к стилю книги. Среди прочего, он читает из рабочих листов следующее:
- Форматирование ячейки
- Имя шрифта
- Размер шрифта
- Цвет шрифта
Однако, у него нет «эффекта зачеркивания». Но вы, безусловно, можете воспользоваться различными цветами шрифта.
Предположим, у вас есть следующий файл Excel, в котором я сделал две ячейки красными с эффектом зачеркивания и сохранил остальные как обычно:
Загрузите библиотеку и импортируйте данные.
library(openxlsx)
wb <- loadWorkbook("filename.xlsx")
data <- read.xlsx(wb, colNames=FALSE)
Стили содержатся в styleObjects
объекте
wb$styleObjects
[[1]]
[[1]]$style
A custom cell style.
Cell formatting: GENERAL
Font name: Calibri
Font size: 11
Font colour: #FF0000
[[1]]$sheet
[1] "Sheet1"
[[1]]$rows
[1] 3 4
[[1]]$cols
[1] 2 3
Может быть много других элементов списка в зависимости от количества пользовательских стилей, примененных к ячейкам на рабочем листе. Каждый пользовательский стиль будет включен в этот объект. Здесь у меня есть только 1 пользовательский стиль, соответствующий красному цвету шрифта (# FF0000). Элементы $ row и $ cols дают индексы строк и столбцов только тех ячеек, которые имеют этот цвет шрифта. Затем вы можете использовать эту информацию для извлечения необходимых значений данных.
red.rows <- wb$styleObjects[[1]]$rows
red.cols <- wb$styleObjects[[1]]$cols
data[cbind(red.rows, red.cols)]
#[1] 43 12