211  Openxlsx:Excelへの出力

library(tidyverse)
library(openxlsx)

ここからは、エクセルへの出力について解説していきます。

ここで利用するのはopenxlsxというパッケージです。

早速、installしてみましょう

install.packages("openxlsx")

この、openxlsx、これまでの関数でデータを加工していくやり方と少し使い方が違って戸惑うかもしれませんが、それほどむずかしくありません

ここでは、

dat <- tibble(
  col1 = letters[1:5],
  col2 = 1:5 
)

dat
# A tibble: 5 × 2
  col1   col2
  <chr> <int>
1 a         1
2 b         2
3 c         3
4 d         4
5 e         5

というデータを書き込んでみましょう。

まず、エクセルブック(ファイル)を作ります

wb <- openxlsx::createWorkbook()

この時点では、Rの中にだけしか存在していないオブジェクトであることに注意が必要です。

それで、ここから少しopenxlsxがこれまでと違うのはいちいち wb <- kansu(wb, …)という様に入力しないでもよいというところです。

newというシートを足してあげて

openxlsx::addWorksheet(wb,"new")

そのシートにデータ、datを書き込んで

openxlsx::writeData(wb,"new",dat)

ファイルをout1.xlsxという名前で保存する

openxlsx::saveWorkbook(wb,"out1.xlsx",overwrite = TRUE)

という処理が、こんな感じで実行できます。

フィルを開いてみましょう!

いかがでしょうか?

無事に書き込めていますね?

このopenxlsxパッケージ、セルの色を変えたり、セルを結合したり、罫線を引いたりというものを全てRの関数で実行することができます。

ここらへん、エクセルVBA(マクロ)を触ったことがある人にとってはなじみ深い操作かもしれませんね?

本コースではOpenxlsxの詳しい使い方には踏み込みませんが、一応、wordやpowerpointでやったように、すでにあるファイルにデータを書き込む形で、あらかじめデザインしたものにデータを書き込む処理をご紹介いたします。