【问题标题】:Can I apply a cell style from a template workbook to cells in new workbooks using XLConnect?我可以使用 XLConnect 将模板工作簿中的单元格样式应用到新工作簿中的单元格吗?
【发布时间】:2020-05-13 14:58:53
【问题描述】:

我正在编写一些 R 代码,它从许多 Excel 工作簿中读取工作表,识别满足特定条件的单元格,然后将这些相同的工作簿与识别出的感兴趣的单元格一起保存为粗体。因为这是一种效率工具,所以我不想进入我计划在其上运行代码的每个工作簿并添加自定义的“粗体”单元格样式。

我的计划是从模板工作簿中读取单元格样式:

bold <- XLConnect::getCellStyle(templateWB, "bold")

然后,我想使用模板工作簿中的样式在新工作簿中创建粗体单元格:

    XLConnect::setCellStyle(wb, sheet = sheetName, row= boldRow, col = boldCol, cellstyle = bold)

但是,尝试这样做会导致错误:

“错误:IllegalArgumentException (Java):此样式不属于提供的工作簿 Stlyes 源。您是否尝试将一个工作簿中的样式分配给不同工作簿的单元格?”

显然,我无法将一个工作簿中的单元格样式应用于另一个工作簿中的工作表。对于 R 中的解决方法有什么建议吗?

谢谢。

【问题讨论】:

    标签: r xlconnect


    【解决方案1】:

    您导入的单元格样式来自 templateWB,因此该单元格样式只能被该工作簿识别。您不能将此单元格样式应用到另一个工作簿。

    我遇到了完全相同的问题,只需在该工作簿中工作并使用saveWorkbook(templateWB, "some other path") 将其保存在其他位置即可解决。另一个应该起作用的选项是:

    wb <- templateWB 
    bold <- XLConnect::getCellStyle(templateWB, "bold")
    XLConnect::setCellStyle(wb, sheet = sheetName, row= boldRow, col = boldCol, 
                            cellstyle = bold)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-11
      • 2020-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-17
      相关资源
      最近更新 更多