在R中构建xls文件,标题位于列名顶部

在R中构建xls文件,标题位于列名顶部,r,excel,R,Excel,我有几百个xls文件,其中包含不正确的数据 我需要打开它们进行更正并保存它们 更正是一件小事,所以我已经为此编写了代码,诀窍是每个工作表都有一个表,从第3行开始,前两行包含合法的标题 我习惯于使用readxl软件包,但它不提供保存电子表格的工具。因此,今天我一直在试验xslx包,但我不太确定如何让它工作 在readr中,我能够使用以下命令编写带有免责声明的csv文件: write_csv(Disclaimer, filepath,col_names = FALSE) write_csv(my.d

我有几百个
xls
文件,其中包含不正确的数据

我需要打开它们进行更正并保存它们

更正是一件小事,所以我已经为此编写了代码,诀窍是每个工作表都有一个表,从第3行开始,前两行包含合法的标题

我习惯于使用
readxl
软件包,但它不提供保存电子表格的工具。因此,今天我一直在试验
xslx
包,但我不太确定如何让它工作

readr
中,我能够使用以下命令编写带有免责声明的
csv
文件:

write_csv(Disclaimer, filepath,col_names = FALSE)
write_csv(my.data.frame,filepath, col_names = TRUE,append =TRUE)
xlsx
中,这不起作用:

write.xlsx(filepath,Disclaimer,"Sheet1",col.names = FALSE)
write.xlsx(filepath,my.data.frame,"Sheet1",col.names = TRUE,append=TRUE)
这会导致java错误:

java.lang.IllegalArgumentException:工作簿已包含此名称的工作表

因此,我的问题是如何编写
xls
文件(或者
xlsx
,而不是
csv
),使其在实际表格上方具有标题

作为记录,我的工作手册有两页,两页都有免责声明,但它们包含不同的表格

我真的希望我能远离excel文件,但我需要保持原始格式

此外,我也愿意使用其他软件包,但我不熟悉其他软件包(正如我们所说的,重新搜索
XLConnect

我找到了

xlsx
还有其他低级功能,可以让您一块一块地构建每张图纸

请参阅下面的测试代码:

wb <- createWorkbook(type = "xls")
sh1 <- createSheet(wb,sheetName = "Sheet1")
addDataFrame(data.frame("Disclaimer"=c("Disclaimer")),sheet = sh1,row.names = FALSE,startRow = 1,col.names = FALSE)
addDataFrame(data.frame("Col1" = c(1,2,3),"Col2"=4:6),sheet = sh1,row.names = FALSE,startRow = 2)

sh2 <- createSheet(wb,sheetName = "Sheet2")
addDataFrame(data.frame("Disclaimer"=c("Disclaimer")),sheet = sh2,row.names = FALSE,startRow = 1,col.names = FALSE)
addDataFrame(data.frame("Col1" = c(1,2,3),"Col2"=4:6),sheet = sh2,row.names = FALSE,startRow = 2)

saveWorkbook(wb,"test_wb.xls")

wb为什么不试试
readr::write_excel\u csv
?您好@yeedle感谢您的输入,这创建了一个
csv
文件,即使我将文件扩展名改写为
xls
(出现警告,扩展名与文件格式不匹配)。下面是我如何测试这个
write\u excel\u csv(data.frame(a=c(1,1,1,1),b=c(“a”,“b”,“c”,“D”),“/test.xls”)
,这是你想要的吗?是的。我的错。我想这会写
xls
文件不用担心,谢谢你的尝试