Ошибка openxlsx: длина строк и столбцов должна быть равна

Я столкнулся с той же проблемой, что этот пользователь Nabble столкнулся при попытке применить стиль к книге Excel, используя непрямоугольный набор строк и столбцов.

wb <- createWorkbook()
addWorksheet(wb, "Iris")
writeData(wb, sheet = 1, x = iris)
boldStyle <- createStyle(textDecoration=c("bold"))
addStyle(wb, 1, style = boldStyle, cols=4:5, rows = 1:150)

Ошибка в addStyle (wb, 1, style = boldStyle, cols = 4: 5, rows = 1: 150,: длина строк и столбцов должна быть одинаковой.

Как мне исправить этот код, чтобы я не получал сообщения об ошибке и чтобы я мог применить стиль к непрямоугольному набору ячеек?


person D. Woods    schedule 01.08.2017    source источник


Ответы (1)


Для одного из аргументов addStyle gridExpand, по умолчанию установлено значение FALSE. Уловка, чтобы заставить это сделать то, что вы пытаетесь, состоит в том, чтобы установить для этого аргумента значение TRUE.. Это позволяет функции применять стиль к комбинации строк и столбцов, которые были предоставлены.

Замените последнюю строку этой, и все должно работать нормально:

addStyle(wb, 1, style = boldStyle, cols=4:5, rows = 1:150, gridExpand = T)
person D. Woods    schedule 01.08.2017
comment
Вы задали и ответили на свой вопрос почти одновременно. Как ты сделал это? - person www; 01.08.2017
comment
@ycw Если у вас есть готовые ответы на ваши вопросы, их можно опубликовать одновременно. - person akrun; 01.08.2017