2017-06-28 8 views
1

テンプレートとして使用しているプリフォーマットのMicrosoft Excelワークブックがあります。私はその後、列タイトルと書式設定をそのままにして、Rからワークブックにdata.tableを貼り付けたいと思います。R NoSuchMethodError(Java)XLConnectを使用してMS Excelワークシートに書き込むとき

これはパッケージXLConnectで実現可能でなければなりません:私はこれを実行すると、私は次のJavaエラーを取得し、しかし

# Load library  
library(XLConnect) 

# Load pre-formatted MS Excel workbook 
wb <- loadWorkbook("Myworkbook.xlsx") 

# Write data.table to existing worksheet excluding column names:  
writeWorksheet(wb, mydt, sheet = "Datasheet1", startRow = 3, startCol = 1, header = FALSE) 

# Save the data to the workbook  
saveWorkbook(wb) 

Error: NoSuchMethodError (Java): org.apache.poi.ss.usermodel.Cell.setCellType(Lorg/apache/poi/ss/usermodel/CellType;)V

私はRのバージョン3.4を使用しています。 XLConnect_0.2-13とrJava_0.9-8のRStudioバージョン1.0.143の場合、Javaバージョンは、Microsoft Office 2010を搭載したWindows 7 OS上のJava 8 Update 66(64ビット)です。

これがなぜうまくいかないのかというアイデアは大いにありがたく思っています。ワークブックとワークシートを最初から作成できるので、既存のワークシートへのデータの追加だけが影響を受けているようです。

+0

は考えていますが、Javaのエラーの病気なら、あなたは([openxlsx]試みることができますhttps://github.com/awalker89/openxlsx)、それはそれを使用しません。 – alistaire

+0

ありがとうございます - いつも問題を引き起こしていると思われるので、Java依存の解決策を取ってみましょう –

+1

openxlsxはきれいに働いています - 誰でもJavaエラーについて知っていますか? –

答えて

1

私も同じ問題を抱えており、XLConnectのバージョン0.2-13ではApache POI 3.16に移行していることがわかりました。

同様に、Apache Commons項目が依存パッケージXLConnectJarsに追加されました。ここでは、ここで機能の非難を受けている可能性があるため、問題があると思われます。

この問題は発生しましたが、XLConnect GitHubページで解決されていません。

EDIT:この問題は、XLConnect GitHubページで説明されています。一言で言えば、XLConnectの最新バージョンは、xlsxパッケージでは異なるバージョンのApache POIを使用しているため、実行できません。あなたは投稿hereを見つけることができます。 xlsxが更新されるまでは、以下の解決策は迅速な修正のために有効です。

私は既にXLConnectで書かれた作業コードを持っていたため、openxlsxにスクリプトを書き直すために、XLConnect/XLConnectJarsバージョン0.2-12にダウングレードしてこの問題を修正しました。

私はこれを行うには見つけ最も簡単な方法は、以下を実行している、XLConnectとXLConnectJarsをアンインストールしていないことであった。

#Assuming devtools is already installed 
library(devtools) 

install_version("XLConnectJars", version = "0.2-12", repos = "http://cran.us.r-project.org") 
install_version("XLConnect", version = "0.2-12", repos = "http://cran.us.r-project.org")` 
関連する問題