write.xlsxで複数シートに一度に書き込む

最近、XLConnectパッケージからopenxlsxパッケージに鞍替えしました。
理由は少しでも大きななデータをExcelシートに出力しようとするとXLConnectでは対応できないケースがあったからです。
で、openxlsxについての記事はたくさん書かれているのだけれども、その中のwrite.xlsx()については情報が見当たらなかったのでメモ。

ポイントは出力したデータをリストにして渡すということです。

library(openxlsx)
smp <- list("IRIS1"=iris, "IRIS2"=iris)
write.xlsx(smp, "sample.xlsx")

これでIRIS1、IRIS2というシートにそれぞれirisデータが出力されているはずです。