Я использую openxlsx
в r для создания файлов Excel с определенными параметрами форматирования. Ниже приведен код многократного использования:
library(openxlsx)
wb <- createWorkbook()
addWorksheet(wb, "TestSheet")
df <- mtcars
df$Car <- row.names(mtcars)
row.names(df) <- NULL
df <- df[,c(length(df), 1:length(df)-1)]
forTopTit <- createStyle(fontColour = "#ffffff", fgFill = "#F4D03F",halign = "center",wrapText = TRUE,valign = "center")
forColHdr <- createStyle(fontColour = "#ffffff", fgFill = "#4F81BD",halign = "center",wrapText = TRUE,valign = "center")
forDatStl <- createStyle(fontColour = "#ffffff", halign="center")
writeData(wb,"TestSheet", "THIS IS A TEST MESSAGE", startCol = 1,startRow = 1,colNames = FALSE, rowNames = TRUE,
headerStyle = forTopTit,borders = "surrounding",borderStyle = "medium")
writeData(wb,"TestSheet", df, startCol = 1,startRow = 2,colNames = TRUE,rowNames = FALSE,
headerStyle = forColHdr,borders='all',borderStyle = "thin")
mergeCells(wb, "TestSheet", cols=1:length(df), rows=1)
setColWidths(wb, "TestSheet", ignoreMergedCells = TRUE,cols = 1:ncol(df), widths = "auto")
openXL(wb)
У меня две проблемы:
Заголовок, который я пытаюсь создать в первом столбце первой строки (которыйявляется объединенной ячейкой) всегда выровнено по левому краю и цвет не применяется.
Я хочу центрировать данные из строки 3, столбец 2, что я не могу сделать. Я попытался использовать следующий код:
addStyle (wb, "TestSheet", style = forDatStl, rows = 3: nrow (df), cols = 3: length (df), gridExpand = TRUE)
Приведенный выше тип скрывает все точки данных, хотя все еще остается в ячейке. Я не могу их видеть, но когда я выбираю ячейку, я вижу ее в итоговой строке над листом. Я использую Ubuntu 18.04 и Libre Office Calc.