これらは、他のスレッドの回答にコメントできないため、ここで新しいスレッドに書いているフォーマットを維持しながら、R から Excel のテンプレートに書き込むための 2 つの関連するフォローアップの質問です。
実際、Joris Meys の回答/コード (6 月 27 日) は機能しません。すでに数回試しました。
繰り返しますが、目的は、テンプレートファイルのフォーマットを使用するか、単に保存しながら、RでExcelファイルを作成することです。回答では、XLConnect と xlsx という 2 つの異なるツールについて言及されていました。
Joris Meys の回答は XLConnect に基づいています。しかし、まったく同じコードを使用すると、新しいコンテンツで満たされたセルが白くなり、書式が保持されなくなります。他のすべてのセル (新しいコンテンツが挿入されていないセル) は、以前のスタイルを実際に引き継ぎます。
WinXP で最新の RGui (32 ビット) V. 2.15.1 と XLConnect と xlsx の最新バージョンを使用しています (また、R の他のすべてのパッケージが最新であることも確認しました)。
それに関連する 2 番目の質問: スレッドでは、代わりに xlsx について言及しています。この情報も私には間違っているようです。ウェブサイトを確認したところ、開発者はその解決策に取り組んでいるようです。現在、次のように、xlsx で書式設定を手動でコードに書き込む可能性しかありません。
cs2 <- CellStyle(wb) + Font(wb, name="Courier New", isBold=TRUE) + # add a Font Borders(col="blue", position=c("TOP", "BOTTOM"), pen="BORDER_THICK") + # add borders Alignment(h="ALIGN_RIGHT")
(ソース: http://code.google.com/p/rexcel/wiki/LowLevelAPI )
Rでフォーマットを維持しながらExcelファイルを書く方法を誰かが提供できれば、本当にクールです.
編集:これはコードです(「aSheet」ではなく「Sheet1」の違いのみですが、他のバリアントも試しました。
require(XLConnect)
wb <- loadWorkbook("test.xlsx", create=TRUE)
setStyleAction(wb,XLC$"STYLE_ACTION.NONE")
Data <- data.frame(
a = 1:10,
b = letters[1:10]
)
writeWorksheet(wb,Data,"Sheet1",startRow=1,startCol=1,header=TRUE)
saveWorkbook(wb)