使用格式将列值写入R中的Excel电子表格

我正在尝试使用xlsx包来读取模板的样式(格式),然后用相同的格式将数据从数据框写出到.xlsx文件。 我正在从包的Wiki中find最接近的例子。

问题是,当试图从我的数据框写数据它通过作为NULL,虽然我试图写的列的类匹配Wiki中的例子,我的语法。

 head(fer_sheet1[,1]) # [1] "HXXX3691X" "HXXX3789X" "HXXX3759X" "HXXX37350" "HXXX3722X" "HXXX3719X" class(fer_sheet1[,1]) # [1] "character" Final_Report_Formatted <- createWorkbook() Contact_List <- createSheet(Final_Report_Formatted, "Contact List") Contact_List_rows <- createRow(Contact_List, rowIndex = 1:43) Contact_List_cells <- createCell(Contact_List_rows, colIndex=1:length(fer_sheet1)) mapply(setCellValue, Contact_List_cells[1:43, 1], fer_sheet1[, 1]) # $`1` # NULL # # $`2` # NULL # # $`3` # NULL 

等等,一路下降到:

 # $`41` # NULL # # $`42` # NULL # # $`43` # NULL 

我可以轻松地在没有包xlsx情况下执行此操作,但是我们的想法是继续并使用它们的包,以便在填充数据之后从模板工作簿中应用格式。

有趣的是,我还使用内置的month.name数据取回NULL值,如下例所示:

 mapply(setCellValue, Contact_List_cells[1:12, 1], month.name) 

我没有看到任何closures/保存工作簿命令。 通常这种操作就像是将graphics绘制到文件中一样……它需要一个完成function。 在这种情况下,这将是:

 saveWorkbook(Final_Report_Formatted, "myChosenWBName.xlsx")