将数据框添加到没有 xlsx 包的工作表

Posted

技术标签:

【中文标题】将数据框添加到没有 xlsx 包的工作表【英文标题】:Adding a dataframe to a sheet without xlsx package 【发布时间】:2021-07-22 16:20:16 【问题描述】:

我目前正在使用 xlsx 包来创建和修改 Excel 文件,但我需要摆脱对 Java 的依赖。我尝试将 xlsx 包换成 openxlsx 包,但我找不到任何简单的方法来替换 addDataFrame 函数。我的代码如下所示:

wb = createWorkbook()
sheet = createSheet(wb, "Sheet Name")
addDataFrame(data.frame(MyFile, check.names=FALSE), sheet=sheet, startColumn=1, row.names=FALSE)
saveWorkbook(wb, "MyWB.xlsx")

openxlsx 中是否有任何函数可用于向工作表添加数据框?或者在任何其他不依赖 Java 的库中?

【问题讨论】:

【参考方案1】:

我们使用writeData 将数据框添加到工作表中。例如

# Create a workbook
wb <- openxlsx::createWorkbook()

# Create a worksheet
openxlsx::addWorksheet(wb, "iris_sheet")
# Write data frame to the worksheet
openxlsx::writeData(wb, "iris_sheet", iris)

# Create another worksheet
openxlsx::addWorksheet(wb, "mtcars_sheet")
# Write data frame to this worksheet
openxlsx::writeData(wb, "mtcars_sheet", mtcars)

# Save the whole workbook
openxlsx::saveWorkbook(wb, "./file.xlsx")

【讨论】:

以上是关于将数据框添加到没有 xlsx 包的工作表的主要内容,如果未能解决你的问题,请参考以下文章

python将多个excel中的所有工作表附加到pandas数据框中的有效方法

当从r输出到excel工作表(使用xlsx包)时,数据框列标题中的问号为什么显示为句点?

Pandas:使用多张工作表导入 xlsx,将列添加到每个 df 及其所属工作表的名称,将具有相同列数的 df 连接起来

更改 Excel 工作表选项卡颜色

ComboBox将工作表名称加载到下拉列表中

将新工作表添加到XLSM宏Excel文件时出错