2016-06-22 8 views
2

Ich versuche, Eingaben von 3 separaten Excel-Dateien zu nehmen, arbeite mit ihnen in R und gebe alle drei Excel-Dateien sowie meine Berechnungen als einzelne Excel-Datei zurück. Natürlich kann dies manuell gemacht werden (und ist wahrscheinlich so sicherer), aber ich würde es gerne automatisieren, wenn möglich.Wie verschiebt man ein Excel-Arbeitsblatt von einer Arbeitsmappe in eine andere mit openxlsx in R?

Ich habe das openxlsx-Paket verwendet, das wirklich gut zum Lesen in einer einzelnen Arbeitsmappe funktioniert und dann die Arbeit an R anfügt, aber ich kann nicht herausfinden, wie Blätter aus einem Arbeitsmappenobjekt verschoben werden zum anderen. Ich habe versucht:

wb1 <- loadWorkbook("hi.xlsx") 
wb2 <- loadWorkbook("bye.xlsx") 
wb2[[2]] <- wb1[[1]] 

Und ein paar andere Dinge, aber nichts schien zu funktionieren. Ich habe festgestellt, dass:

names(wb1) 

Werden die Namen der Arbeitsblätter in wb1 geben, aber es scheint nicht ein Weg, um Arbeitsblätter zu bewegen. Irgendwelche Ideen?

Vielen Dank im Voraus!

EDIT: Entschuldigung - ich hätte klarer sein sollen. Ich möchte das Blatt mit seiner ursprünglichen Formatierung einlesen und in die neue Datei schreiben. Wenn Sie read.xlsx verwenden, verlieren Sie die gesamte Formatierung.

Antwort

0

Mit dem xlsx Paket:

library(xlsx) 
wb1 <- read.xlsx("Workbook1.xlsx", sheetIndex = 1) 
wb2 <- read.xlsx("Workbook2.xlsx", sheetIndex = 1) 
write.xlsx(wb1, "Workbook Joined.xlsx") 
write.xlsx(wb2, "Workbook Joined.xlsx", sheetName = "Sheet2", append = T) 
+0

Entschuldigung - ich hätte klarer sein sollen. Ich möchte das Blatt mit seiner ursprünglichen Formatierung einlesen und in die neue Datei schreiben. Wenn Sie read.xlsx verwenden, verlieren Sie die gesamte Formatierung. – Phil

0

Hier ist ein Beispiel, wie read.xlsx Funktion verwenden, um Daten aus Excel-Dateien zu

read.xlsx(xlsxFile, sheet = 1, startRow = 1, colNames = TRUE, 
     rowNames = FALSE, detectDates = FALSE, skipEmptyRows = TRUE, 
     rows = NULL, cols = NULL, check.names = FALSE, namedRegion = NULL) 

Blatt gibt den Namen oder Index des Blattes zu lesen Daten lesen von.

+0

Entschuldigung - ich hätte klarer sein sollen. Ich möchte das Blatt mit seiner ursprünglichen Formatierung einlesen und in die neue Datei schreiben. Wenn Sie read.xlsx verwenden, verlieren Sie die gesamte Formatierung. – Phil

Verwandte Themen