【備忘】逆引きXLConnect
Introduction
意外と色々やれるXLConnect、すごいぞXLConnect。
でもちょっと仕組みがわかりにくくて、初見さんに優しくない感じなので
色々な用途別で、こう書けばいいのよっていうのを備忘
<参考URL>
セルの背景色をつける
createCellStyle(cellStyleの初期化)→setFillgroundColor(色の指定) →setFillPattern(色の塗り方の指定)→setCellStyle(cell styleの適用)
といった順番
cst1 <- XLConnect::createCellStyle(wb3) XLConnect::setFillForegroundColor(cst1 , XLC$COLOR.SKY_BLUE) XLConnect::setFillPattern(cst1, fill = XLC$FILL.SOLID_FOREGROUND) #だいたいこれでいい。 XLConnect::setCellStyle(wb3 , sheet="TestSheet", row = 1 , col = 1, cellstyle = cst1)
※ちなみに文字色を簡単に変える方法はXLConnectにはないようだ。残念。あらかじめExcel側で設定しておくしかない。
セルを結合する
mergeCells()を使う。referenceにセル参照を入れる
XLConnect::mergeCells(wb3, sheet = "TestSheet", reference = "A2:A3")
セルの罫線を設定する
setBorder()をつかう。
全体の流れとしては、createCellStyle()→setBorder()→setCellStyle()という流れ。
第二引数(side)にはbottom/top/left/right/allを指定。
typeには罫線のタイプを、colorには罫線の色を指定
#セルの上側を破線赤線、下側を実線黒線にする。 cst2 <- XLConnect::createCellStyle(wb3) XLConnect::setBorder(cst2 , side= c("top","bottom"),color=c(XLC$COLOR.RED ,XLC$COLOR.BLACK), type=c(XLC$BORDER.DOTTED , XLC$BORDER.THIN)) XLConnect::setCellStyle( wb3 , sheet="NS2", row=7 , col=2 , cellstyle = cst2)
↓実行結果
オートフィルタを設定する
setAutofilter()を使う。sheetにシート名orインデックスを、referenceにセル参照を指定
XLConnect::setAutoFilter( wb3 , "NS2", "B1:C1")
↓実行結果
Conclusion
setなんちゃら系に戻り値がないのが、Rの文法に慣れていると少し気持ち悪いね。
BLUE ENCOUNT 『バッドパラドックス』Music Video【日本テレビ系土曜ドラマ「ボイス 110緊急指令室」主題歌】
Enjoy!