我们有很多选择能完成写入Excel文件任务,本文推荐两个在实践中较常用的R包:xlsx包和XLConnect包。这两个包作者都是通过Java来写入Excel文件,所以性能相对比较稳定。
那我们来看下这两个包的具体示例:
xlsx包首先,创建数据集:
sample.dataframe
如果你Excel文件没有创建,则可以直接将数据写入到新Excel文件中:
library(xlsx)
#load the package
write.xlsx(x = sample.dataframe,
file =
"test.excelfile.xlsx",
sheetName =
"TestSheet", row.names =
FALSE)
如果Excel文件已经存在,则可以写入数据到新的sheet,或者直接写到现有的sheet中,如workbook.sheets workbook.test :
addDataFrame(x = sample.dataframe, sheet = workbook.
test,
row.names =
FALSE, startColumn =
4)
# 从第一行、第四列写入数据
saveWorkbook(workbook.sheets,
"test.excelfile.xlsx")
#保存文件
XLConnect包第一步:制作Excel模版文件
library(XLConnect)
#load the package
ExcelFile <-
"/home/linux/scoreCard-new/DailyScoreCard_20160307.xls" ## 模版
template <- paste0(
"/home/linux/scoreCard-new/ResultOutput/DailyScoreCard_",Sys.Date()-
1,
".xls")
## 文件名
file.copy(ExcelFile, template)
## 拷贝模版文件
第二步:写入数据到Excel
writeWorksheetToFile(template,
data=data_frame,
sheet=
"sheet1",header =
F,startRow=
4, startCol =
2)## 从第四行、第二列写入模版文件中sheet1表