【问题标题】:writeWorkSheet function in R not pasting values into ExcelR中的writeWorkSheet函数不将值粘贴到Excel中
【发布时间】:2017-08-14 20:48:21
【问题描述】:

我正在尝试使用 XLConnect 包中的 writeWorkBook 函数将 R 数据框 (Shipments) 中的一些数据复制到 excel 文件中。但是,它不会将任何内容复制到 excel 文件中。执行不会导致控制台中出现任何错误/警告。它只是不复制。

我已加载库 XLConnect 并确保我没有加载库 xlsx。要复制的列已被强制转换为数据框,因为我认为这可能是一个问题。

wbnames 是一个额外的东西。我直接在 writeWorkBook 中写了工作表名称,它应该可以正常工作。即使使用wbnames,结果也没有任何变化。

我最初打算将内容复制到宏文件,然后从 R 本身运行宏文件,但它不起作用。所以我认为这可能是因为宏文件但该功能不适用于 .xlsx 本身。

所以,不知道是什么问题。如果我能在这里得到一些帮助,将不胜感激。我错过了什么吗?

library(XLConnect) 
library(RDCOMClient) 

xlApp   <- COMCreate("Excel.Application")
xlWbk   <- xlApp$Workbooks()$Open(FILEPATH+FILENAME.XLSX)
xlWb    <- loadWorkbook(FILEPATH+FILENAME.XLSX)
wbnames <- as.vector(getSheets(xlWb))

# Copy a column from the existing data frame and paste it to the first
# sheet of the FILENAME.XLSX, starting at Row#6, no headers and no rownames:
writeWorksheet(xlWb, as.data.frame(Shipments$SHIPMENT_ID),
    sheet = wbnames[1], startRow = 6, header = F, rownames = NULL)

【问题讨论】:

    标签: r excel xlconnect


    【解决方案1】:

    xlWb 是包含工作簿的 R 对象。看起来数据已写入工作簿,这很好。但是,为了以 Excel 格式查看,您仍然需要将工作簿保存到 Excel。在您的代码后添加这一行,您应该会在工作目录中看到一个名为 your_file_name.xlsx 的文档,其中包含您的数据:

    XLConnect::saveWorkbook(xlWb, "your_file_name.xlsx")
    

    【讨论】:

    • 非常感谢!!我对 R 比较陌生。我的错误 - 像 VBA 调试模式这样处理的步骤,我们在执行步骤后立即看到结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 2021-10-31
    • 2010-11-08
    • 1970-01-01
    相关资源
    最近更新 更多