saveWorkbook执行时间

时间:2019-04-16 13:08:03

标签: r xlconnect

很抱歉,如果已经回答了这个问题,但我找不到。

我正在使用XLConnect程序包向电子表格添加新条目,但是saveWorkbook的执行时间正在增加,并且延迟了所有其他依赖更新电子表格的任务。

工作流程如下:

  1. 在SQL数据库中查询新条目(使用read.table加载结果);
  2. 加载过期的电子表格,并将每张工作表另存为 列表;
  3. 将条目添加到适当的工作表/列表元素;
  4. 使用setCellStyel的颜色线,根据一系列 参数(下面的代码示例);
  5. saveWorkbook
cs_completo=getOrCreateCellStyle(wb, name = "Cs_Completo")
  setFillPattern(cs_completo, fill = XLC$FILL.SOLID_FOREGROUND)
  setFillForegroundColor(cs_completo, color = XLC$COLOR.LIGHT_GREEN)

for(status in c("Conferido","Impresso","Entregue","Envelopado")){
  if(sum(grepl(status,dados$NomeStatusExame))>0){
    index=which(grepl(status,dados$NomeStatusExame))+1
    lapply(1:length(desired_tabs),function(x) setCellStyle(wb, sheet = sheet,  row=index, col=x,cellstyle = cs_completo))}
  }
}

第1步至第4步在3分3分钟之内完成(有些纸页多达2000行)。

第5步至少需要30分钟!

有没有办法加快saveWorkbook的编写过程?

1 个答案:

答案 0 :(得分:0)

我不知道为什么,但是将工作簿保存到新文件中所花的时间(不到一分钟)比覆盖现有文件要少得多!