2

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

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

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

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

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

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

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

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

谢谢你。

4

1 回答 1

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)
于 2016-05-12T14:51:36.307 回答