2016-04-28 3 views
0

Ich schreibe einen R-Code, der Blätter aus vielen Excel-Arbeitsmappen einliest, Zellen identifiziert, die bestimmte Kriterien erfüllen, und speichert dann dieselben Arbeitsmappen mit den identifizierten Zellen von Interesse in Fettschrift. Da dies ein Effizienzwerkzeug ist, möchte ich nicht in jede Arbeitsmappe gehen müssen, in der ich meinen Code ausführen möchte, und einen benutzerdefinierten "Fett" -Zellstil hinzufügen.Kann ich einen Zellenstil aus einer Vorlagenarbeitsmappe mithilfe von XLConnect auf Zellen in neuen Arbeitsmappen anwenden?

Mein Plan in der Zelle Stil aus einer Vorlage Arbeitsmappe zu lesen war:

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

Dann wollte ich den Stil aus der Vorlage Arbeitsmappe verwenden fett Zellen in der neuen Arbeitsmappe zu erstellen:

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

der Versuch, dies zu tun, führt jedoch zu einem Fehler:

„Fehler: Illegal (Java). diese Art gehört nicht zu der mitgelieferten Arbeitsmappe stlyes Quelle A Versuchen Sie, der Zelle einer anderen Arbeitsmappe einen Stil aus einer Arbeitsmappe zuzuordnen? "

Natürlich kann ich den Zellstil aus einer Arbeitsmappe nicht auf Arbeitsblätter in einer anderen Arbeitsmappe anwenden. Irgendwelche Vorschläge für eine Problemumgehung in R?

Vielen Dank.

Antwort

0

Der importierte Zellstil stammt aus templateWB und daher wird dieser Zellstil nur von dieser Arbeitsmappe erkannt. Sie können diesen Zellstil nicht auf eine andere Arbeitsmappe anwenden.

Ich hatte genau das gleiche Problem und löste es, indem ich einfach in dieser Arbeitsmappe arbeitete und es woanders mit saveWorkbook(templateWB, "some other path") speicherte. Eine andere Option, die funktionieren sollte, ist:

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