XLConnect est un package qui permet de lire, ?crire et manipuler des fichiers Microsoft Excel ? partir de
R.
Il ne n?cessite aucune installation de Microsoft Excel ou d'autres pilotes sp?ciaux pour ?tre capable de lire et ?crire des fichiers Excel. La seule exigence est d'avoir une version r?cente de Java Runtime Environment (JRE) install?e.
Pour commencer lire
la vignette du package. De nombreuses d?monstrations sont disponibles via la commande R demo(package = "XLConnect"). Vous pouvez ?galement parcourir
le manuel de r?f?rence complet du package.
si vous n'avez pas JRE sur votre ordinateur, vous devez l'installer:
sur linux / ubuntu utiliser cette commande: apt-get install openjdk-6-jdk
XLConnect peut ?tre facilement install? en utilisant la commande R install.packages() dans votre session R:
Code R :install.packages("XLConnect")
Code R :
#loading the package
require(XLConnect)
#creating an Excel workbook. Both .xls and .xlsx file formats can be used.
wb <- loadWorkbook("XLConnectExample1.xlsx", create = TRUE)
#creating sheets within an Excel workbook
createSheet(wb, name = "chickSheet")
#writing into sheets within an Excel workbook :
#writing ChickWeight data frame into chickSheet
writeWorksheet(wb, ChickWeight, sheet = "chickSheet", startRow = 3, startCol = 4)
#saving a workbook to an Excel file :
#saves a workbook to the corresponding Excel file and writes the file to disk.
saveWorkbook(wb)

Les quatre lignes de code pr?sent?es dans l'exemple pr?c?dent peuvent ?tre remplac?es par un seul appel de la fonction
writeWorksheetToFile():
Code R :
require(XLConnect)
writeWorksheetToFile("XLConnectExample2.xlsx", data = ChickWeight,
sheet = "chickSheet", startRow = 3, startCol = 4)
writeWorksheetToFile() charge le classeur, c?e la feuille et enregistre finalement le classeur. Lorsque vous avez seulement besoin d'?crire une seule feuille dans un fichier Excel, c'est probablement le meilleur choix. Si vous avez besoin d'?crire plus de feuilles, toutefois, l'utilisation des fonctions pr?sent?es dans l'exemple pr?c?dent sera plus efficace. A chaque fois que la fonction writeWorksheetToFile() est appel?e, elle ?crit et ferme le fichier Excel. En revanche, l' utilisation des fonctions du premier exemple, vous permettent d'ouvrir le classeur, y effectuer des op?rations multiples et le fermer apr?s avoir fini.
Pour ce faire, nous allons utiliser le fichier cr?? dans l'exemple ci-dessus. Nous avons mis l'argument endRow ? 10 afin de limiter le r?sultat. Les autres arguments sont affect?s de la valeur 0 et ils seront donc d?termin?s automatiquement.
Noter, que la variable
sheet, prend comme valeur le nom de la feuille que nous voulons lire "chickSheet". On pourrait aussi le sp?cifier avec l'indice de la feuille, c'est ? dire sheet= 1.
Code R :
#loading the package
require(XLConnect)
#Loading an Excel workbook. Both .xls and .xlsx file formats can be used.
wb = loadWorkbook("XLConnectExample1.xlsx", create = TRUE)
#reading worksheets of an Excel workbook
data = readWorksheet(wb, sheet = "chickSheet", startRow = 0, endRow = 10,
startCol = 0, endCol = 0)
#print data
data
weight Time Chick Diet
1 42 0 1 1
2 51 2 1 1
3 59 4 1 1
4 64 6 1 1
5 76 8 1 1
6 93 10 1 1
7 106 12 1 1
Code R :
require(XLConnect)
data = readWorksheetFromFile("XLConnectExample1.xlsx", sheet = "chickSheet",
startRow = 0, endRow = 10, startCol = 0, endCol = 0)
Code R :
# Load workbook (create if not existing)
wb = loadWorkbook("add_image_to_excel.xls", create=TRUE)
# Create a sheet named 'boxplot'
createSheet(wb, name = "boxplot")
# Create a named region called 'boxplot' referring to the sheet
# called 'boxplot'
createName(wb, name = "boxplot", formula = "boxplot!$B$2")
# Create R plot to a png device
png(filename = "boxplot.png", width = 800, height = 600)
boxplot(count ~ spray, data = InsectSprays, col = "lightgray")
dev.off()
# Write image to the named region created above
addImage(wb, filename = "boxplot.png", name="boxplot", originalSize = TRUE)
# Save workbook (this actually writes the file to disk)
saveWorkbook(wb)
Le r?sultat est le suivant:
