2016-07-19 37 views
0

最終出力(Windows 7のExcel 2007が現在使用されています)で複数の条件付きのインスタンスが尊重されることはありません。R openxlsxの複数の条件と条件付きの問題

サンプルコード:

library("openxlsx")  
rm(list = ls()) 

set.seed(123) 
test <- data.frame("tag" = letters, "nums" = runif(26, -20, 20)) 

wb <- createWorkbook() 
addWorksheet(wb, "Sheet", gridLines = TRUE) 

negStyle <- createStyle(fontColour = "#9C0006", bgFill = "#FFC7CE") 
posStyle <- createStyle(fontColour = "#006100", bgFill = "#C6EFCE") 
ExtraNegStyle <- createStyle(fontColour = "#FFF0F5", bgFill = "#FF0000") 
ExtraPosStyle <- createStyle(fontColour = "#98FB98", bgFill = "#228B22") 

Heading <- createStyle(textDecoration = "bold", border = "Bottom") 

writeData(wb, "Sheet", test) 

conditionalFormatting(wb, "Sheet", cols = 2, 
         rows = 2:27, rule = "< -10", style = negStyle, 
         type = "expression") 
conditionalFormatting(wb, "Sheet", cols = 2, 
         rows = 2:27, rule = "> 10", style = posStyle, 
         type = "expression") 
conditionalFormatting(wb, "Sheet", cols = 2, 
         rows = 2:27, rule = "< -15", style = ExtraNegStyle, 
         type = "expression") 
conditionalFormatting(wb, "Sheet", cols = 2, 
         rows = 2:27, rule = "> 15", style = ExtraPosStyle, 
         type = "expression") 

addStyle(wb, "Sheet", cols = 1:2, rows = 1, style = Heading) 

saveWorkbook(wb, file = "test.xlsx", overwrite = TRUE) 

Iが得られたスプレッドシートを開いた場合、私はこの参照:

enter image description here

行7、16および19(タグF、Oであり、R)がフォーマットされていません私は明るい赤と白のフォントを期待します。 これは、Excelで条件付き書式設定>ルールを管理し、この方法で書式設定ルールを移動するだけで効果的に達成できます。

enter image description here

私は明らかにアップ&ダウンRコードでconditionalFormatting文を移動しようとしたが、それはトリックを行うには表示されません。

ありがとうございました!

+0

この質問に対する回答はありますか?私も同様の問題があります。 –

+0

私は恐れていません。ごめんなさい。 –

答えて

0

最新(開発者版)のopenxlsxにアップデートしてください。私はあなたと同じ問題を抱えていましたが、更新後のある時点では、同時に複数のルールを使用することができました。私はそれを修正したかどうかはわかりませんが、それが動作すれば教えてください。これはthe author's github pageに投稿された最新の開発版をインストールするためのコードです。私のルールはあなたのものより幾分複雑です.2つの異なる他のの列セットに基づいて列の書式を設定していますので、私はあなたの例がうまくいくはずです。

install.packages(c("Rcpp", "devtools"), dependencies=TRUE) 
require(devtools) 
install_github("awalker89/openxlsx") 

もちろん、R/RStudioを再起動することを忘れないでください。

関連する問題