【问题标题】:R: add sheet to an existing excel workbookR:将工作表添加到现有的 Excel 工作簿
【发布时间】:2018-06-26 09:48:50
【问题描述】:

在我的脚本中,我需要创建一个包含许多工作表的 excel 工作簿,其中前 2 个工作表默认情况下是从另一个工作簿中读取并合并到导出的 excel 中。

我使用xlsx 包来格式化导出的excel。但是,我在 xlsx 包中找不到任何可以从 Excel 中读取工作表并将其添加到另一个工作表的函数。

这是我读取第一个 excel 的代码:

template_wb <- loadWorkbook(file = 'template.xlsx')
sheets <- getSheets(wb)  
sheet1 <- sheets[[1]]
sheet2 <- sheets[[2]]

在代码的第二部分,我创建了另一个工作簿,其中包含多个工作表,sheet1sheet2 应该是其中之一。

 wb<-createWorkbook(type="xlsx")
 as_sheet <- createSheet(wb, sheetName = "AS")
 dc_sheet <- createSheet(wb, sheetName = "DC")
 ro_sheet <- createSheet(wb, sheetName = "RO")

 ### add content to worksheets
 # the suggested code should go there

### save workbook
saveWorkbook(wb, 'out.xlsx')

我想将sheet1 的内容添加到dc_sheet 并将sheet2 的内容添加到ro_sheet,然后再将更多数据添加到as_sheet,然后保存工作簿。

我该怎么做?

【问题讨论】:

    标签: r xlsx


    【解决方案1】:

    我很确定一个简单的赋值语句就可以解决问题:

    template_wb <- loadWorkbook(file = 'template.xlsx')
    sheets <- getSheets(template_wb)  
    sheet1 <- sheets[[1]]
    sheet2 <- sheets[[2]]
    wb<-createWorkbook(type="xlsx")
    as_sheet <- createSheet(wb, sheetName = "AS")
    dc_sheet <- createSheet(wb, sheetName = "DC")
    ro_sheet <- createSheet(wb, sheetName = "RO")
    dc_sheet<-sheet1
    ro_sheet<-sheet2
    # Your code here
    saveWorkbook(wb, 'out.xlsx')
    

    我试过了,效果很好

    【讨论】:

    • 我试过了,但没有用。床单是空的。
    【解决方案2】:

    您可以使用副本,并将其另存为新文件。

    wb <- loadWorkbook(file)  
    # Rename the sheets
    wb$setSheetName(0L, "AS")
    wb$setSheetName(1L, "DC")
    # Delete the aditional sheets
    sheets <- getSheets(wb)  
    lapply(names(sheets)[-(1:2)], function(x) removeSheet(wb, sheetName = x))
    # Assign the sheets to the objects of R
    sheets <- getSheets(wb)  
    as_sheet <- sheets[[1]]
    dc_sheet <- sheets[[2]]
    # Create the new sheet
    ro_sheet <- createSheet(wb, sheetName = "RO")
    # save workbook
    saveWorkbook(wb, 'out.xlsx')
    

    【讨论】:

    • 这项任务根本没有用。对你有用吗?
    猜你喜欢
    • 2017-12-21
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多