<?xml version="1.0" encoding="UTF-8" ?>
<!-- RSS generated by PHPBoost on Sun, 12 Apr 2026 14:51:45 +0200 -->

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Documentation]]></title>
		<atom:link href="https://www.sthda.com/french/syndication/rss/wiki/35" rel="self" type="application/rss+xml"/>
		<link>https://www.sthda.com</link>
		<description><![CDATA[Derniers articles de la catégorie Importer et exporter des données avec R]]></description>
		<copyright>(C) 2005-2026 PHPBoost</copyright>
		<language>fr</language>
		<generator>PHPBoost</generator>
		
		
		<item>
			<title><![CDATA[Créer et formater des documents PowerPoint avec le logiciel R]]></title>
			<link>https://www.sthda.com/french/wiki/creer-et-formater-des-documents-powerpoint-avec-le-logiciel-r</link>
			<guid>https://www.sthda.com/french/wiki/creer-et-formater-des-documents-powerpoint-avec-le-logiciel-r</guid>
			<description><![CDATA[<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">

<div id="TOC">
<ul>
<li><a href="#pourquoi-est-il-important-detre-capable-de-generer-des-rapports-powerpoint-avec-r">Pourquoi est-il important d??tre capable de g?n?rer des rapports PowerPoint avec R?</a><ul>
<li><a href="#raison-i-beaucoup-de-collaborateurs-travaillent-avec-les-outils-microsoft-office">Raison I : Beaucoup de collaborateurs travaillent avec les outils Microsoft Office</a></li>
<li><a href="#raison-ii-maintenir-les-magnifiques-graphiques-r-magnifiques-pour-publications">Raison II : Maintenir les magnifiques graphiques R magnifiques pour publications</a></li>
</ul></li>
<li><a href="#mais-ce-probleme-na-t-il-pas-ete-deja-resolu">Mais ce probl?me n?a t-il pas ?t? d?j? r?solu?</a></li>
<li><a href="#objectif">Objectif</a></li>
<li><a href="#installer-et-charger-le-package-reporters">Installer et charger le package ReporteRs</a></li>
<li><a href="#creer-un-powerpoint-simple">Cr?er un PowerPoint simple</a><ul>
<li><a href="#mises-en-page-des-diapositives">Mises en page des diapositives</a></li>
<li><a href="#generer-un-document-powerpoint-simple-a-partir-du-logiciel-r">G?n?rer un document PowerPoint simple ? partir du logiciel R</a></li>
<li><a href="#formater-le-texte-dun-document-powerpoint">Formater le texte d?un document PowerPoint</a><ul>
<li><a href="#les-proprietes-de-texte-police-la-couleur-et-la-taille">Les propri?t?s de texte: police, la couleur et la taille</a></li>
<li><a href="#changer-lapparence-dun-bout-de-texte">Changer l?apparence d?un ?bout de texte?</a></li>
</ul></li>
<li><a href="#ajouter-des-graphiques-et-des-images">Ajouter des graphiques et des images</a></li>
<li><a href="#ajouter-une-table">Ajouter une table</a></li>
<li><a href="#ajouter-des-listes-ordonnees-et-non-ordonnees">Ajouter des listes ordonn?es et non ordonn?es</a></li>
</ul></li>
<li><a href="#creez-un-document-powerpoint-a-partir-dun-fichier-modele">Cr?ez un document PowerPoint ? partir d?un fichier mod?le</a><ul>
<li><a href="#telecharger-un-fichier-modele">T?l?charger un fichier mod?le</a></li>
<li><a href="#mises-en-page-de-diapositives-disponibles-dans-le-fichier-modele">Mises en page de diapositives disponibles dans le fichier mod?le</a></li>
<li><a href="#creez-un-document-powerpoint-a-partir-du-fichier-modele">Cr?ez un document PowerPoint ? partir du fichier mod?le</a></li>
</ul></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/></p>
<div id="pourquoi-est-il-important-detre-capable-de-generer-des-rapports-powerpoint-avec-r" class="section level1">
<h1>Pourquoi est-il important d??tre capable de g?n?rer des rapports PowerPoint avec R?</h1>
<p>Il y a, au moins, deux raisons ? cela, comme d?crites dans les chapitres suivants.</p>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-reporters-powerpoint.png" alt="Ecrire un document PowerPoint avec le logiciel R et le package ReporteRs" /></p>
<div id="raison-i-beaucoup-de-collaborateurs-travaillent-avec-les-outils-microsoft-office" class="section level2">
<h2>Raison I : Beaucoup de collaborateurs travaillent avec les outils Microsoft Office</h2>
<p>Environ 1 milliard de personnes ? travers le monde entier utilisent Microsoft Office (soit 1 personne sur 7 sur la plan?te; <a href="http://news.microsoft.com/bythenumbers/index.html" rel = "nofollow" target="_blank">source: Microsoft</a>).</p>
<p>De plus, de nombreux collaborateurs travaillent encore avec les logiciels Microsoft Office (Word, PowerPoint, Excel) pour :</p>
<ul>
<li>?diter leurs textes et suivre les modifications</li>
<li>copier-coller des textes, images et tables provenant de diff?rentes sources</li>
<li>enregistrer et analyser leurs donn?es</li>
</ul>
<p>Dans ce contexte, un rapport g?n?rer en PDF ou en pages HTML est moins utile avec certains collaborateurs.</p>
</div>
<div id="raison-ii-maintenir-les-magnifiques-graphiques-r-magnifiques-pour-publications" class="section level2">
<h2>Raison II : Maintenir les magnifiques graphiques R magnifiques pour publications</h2>
<p>Les graphiques g?n?r?s par le <strong>logiciel R</strong> peuvent ?tre personnalis?s pour ?tre aussi beaux que votre imagination peut les faire. Malheureusement, la pr?servation de cette beaut? n?est pas toujours une t?che facile lorsque vous souhaitez publier ces graphiques ou les montrer dans une pr?sentation professionnelle.</p>
<p>Oui, ce probl?me peut ?tre r?solu en utilisant knitr/rmarkdown/Latex/Beamer/Slidify . Cependant, il serait tr?s difficile de refaire toute la pr?sentation dans un format diff?rent. En outre, de nombreuses revues n?acceptent pas les documents LaTeX.</p>
<p><a href="https://assessingpsyche.wordpress.com/2013/07/27/keeping-beautiful-r-graphs-beautiful-in-powerpoint/" rel="nofollow" target="_blank">(source)</a>.</p>
</div>
</div>
<div id="mais-ce-probleme-na-t-il-pas-ete-deja-resolu" class="section level1">
<h1>Mais ce probl?me n?a t-il pas ?t? d?j? r?solu?</h1>
<p>La r?ponse ? cette question est oui et non. Il y a eu plusieurs tentatives pour r?soudre ce probl?me, mais beaucoup d?entre elles ne sont pas faciles ? utiliser.</p>
<p>L?une des solutions consistait ? utiliser le package <strong>R2PPT</strong>. Malheureusement <strong>R2PPT</strong> est disponible pour Windows uniquement et il d?pend de rcom ou RDCOMClient pour g?n?rer des pr?sentations <strong>PowerPoint</strong>.</p>
</div>
<div id="objectif" class="section level1">
<h1>Objectif</h1>
<p>Le but de cet <strong>tutoriel R</strong> est de vous montrer comment formater et exporter facilement des r?sultats du <strong>logiciel R</strong> (des tableaux de donn?es, des graphiques, des paragraphes de textes et du code R) vers un document PowerPoint (format de fichier .pptx) en utilisant le package <strong>ReporteRs</strong>.</p>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-reporters-powerpoint-document-image.png" alt="Ecrire un document PowerPoint avec le logiciel R et le package ReporteRs" /></p>
<p>ReporteRs est une solution Java-d?pendante, donc le package fonctionne sur Windows, Mac et Linux.</p>
</div>
<div id="installer-et-charger-le-package-reporters" class="section level1">
<h1>Installer et charger le package ReporteRs</h1>
<p>Utiliser le <strong>code R</strong> ci-dessous :</p>
<pre class="r"><code>install.packages(&#39;ReporteRs&#39;) # Installer
library(&#39;ReporteRs&#39;) # Charger</code></pre>
<p><span class="warning">Notez que ReporteRs d?pend de Java (>= 1.6) ; assurez vous que vous avez un JRE</span></p>
<p>La version de Java install?e sur votre ordinateur peut ?tre v?rifi?e comme suit avec R :</p>
<pre class="r"><code>system("java -version")</code></pre>
</div>
<div id="creer-un-powerpoint-simple" class="section level1">
<h1>Cr?er un PowerPoint simple</h1>
<p>Quatre ?tapes simples sont n?cessaires :</p>
<ol style="list-style-type: decimal">
<li>Utiliser la fonction <strong>pptx()</strong> pour cr?er un objet PowerPoint.</li>
<li>Utiliser la fonction <strong>addSlide()</strong> pour ajouter une diapositive (slide) dans le document PowerPoint.</li>
<li>Ajouter des contenus dans la diapositive cr??e en utilisant les fonctions ci-dessous :
<ul>
<li><strong>addTitle</strong>: Ajouter un titre</li>
<li><strong>addParagraph</strong>: Ajouter des paragraphes de textes</li>
<li><strong>addFlexTable</strong>: Ajouter une table</li>
<li><strong>addPlot</strong>: Ajouter un graphe g?n?r? avec R</li>
<li><strong>addImage</strong>: Ajouter une image externe</li>
<li><strong>addRScript</strong>: coloration syntaxique et ajout d?un code R</li>
<li><strong>addDate</strong> : Ajouter une date</li>
<li><strong>addPageNumber</strong> : Ajouter un num?ro de page</li>
<li><strong>AddFooter</strong> : Ajouter un pied de page</li>
</ul></li>
<li>Enregistrer le document dans un fichier .pptx en utilisant la fonction <strong>writeDoc()</strong></li>
</ol>
<div id="mises-en-page-des-diapositives" class="section level2">
<h2>Mises en page des diapositives</h2>
<p>Avant de vous montrer un exemple pour cr?er et formater un PowerPoint avec le logiciel R, nous allons d?abord discuter de la <strong>mise en page des diapositives</strong> (ou disposition des diapos). Ceci est tr?s important pour comprendre les exemples fournis dans ce tutoriel.</p>
<p>Lorsque vous cr?ez une nouvelle diapositive dans PowerPoint, vous devez sp?cifier la mise en page de la diapositive. Les mises en page disponibles dans le logiciel ?MS Office PowerPoint? (mod?le par d?faut, sur mon ordinateur) sont illustr?es dans la figure ci-dessous:</p>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-reporters-powerpoint-slide-layout.png" alt="Ecrire un document PowerPoint avec le logiciel R et le package ReporteRs" /></p>
<p>La fonction <strong>addSlide()</strong> peut ?tre utilis?e pour ajouter une nouvelle diapositive dans un document PowerPoint ? partir du <strong>logiciel R</strong>. Un format simplifi? de la fonction est:</p>
<pre class="r"><code>doc <- addSlide(doc, slide.layout)</code></pre>
<br/>
<div class="block">
<ul>
<li><em>doc</em> : un objet <strong>pptx</strong> o? les diapositives doivent ?tre ajout?es</li>
<li><em>slide.layout</em> : la mise en page ? utiliser pour la diapositive.</li>
</ul>
</div>
<p><br/></p>
<p>Parmi les valeurs possibles pour l?argument <em>slide.layout</em>, il y a: ?Title Slide?, ?Title and Content?, ?Two Content?, ?Section Header?, ?Content with Caption?, ?Title Only?, ?Comparison?.</p>
<p><span class="notice">Cependant, vous devez utiliser seulement les ?mises en page de diapositives? disponibles sur votre ordinateur. Ceci peut d?pendre de votre langue locale.</span></p>
<br/>
<div class="success">
<p>Pour afficher les mises en page disponibles sur votre ordinateur, utilisez le code de R ci-dessous:</p>
<pre class="r"><code>library(ReporteRs)
doc = pptx()
slide.layouts(doc)</code></pre>
<pre><code>##  [1] "Title Slide"             "Title and Vertical Text" "Title and Content"       "Two Content"            
##  [5] "Section Header"          "Vertical Title and Text" "Content with Caption"    "Title Only"             
##  [9] "Comparison"              "Blank"</code></pre>
</div>
<p><br/></p>
<p>Ces mises en page sont illustr?es ci-dessous:</p>
<pre class="r"><code>doc <- pptx()
layouts <-slide.layouts(doc) # Mises en page disponibles
#  Dessiner chaque style de diapositives
for(i in layouts ){
  par(mar=c(0.5,0.5,2,0.5), cex=0.7)
  slide.layouts(doc, i )
    title(main = paste0("&#39;", i, "&#39;" ))
  if(interactive()) readline(prompt = "Show next slide layout")
}</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerpoint-slide-layout-1.png" title="plot of chunk r-reporters-powerpoint-slide-layout-" alt="plot of chunk r-reporters-powerpoint-slide-layout-" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerpoint-slide-layout-2.png" title="plot of chunk r-reporters-powerpoint-slide-layout-" alt="plot of chunk r-reporters-powerpoint-slide-layout-" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerpoint-slide-layout-3.png" title="plot of chunk r-reporters-powerpoint-slide-layout-" alt="plot of chunk r-reporters-powerpoint-slide-layout-" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerpoint-slide-layout-4.png" title="plot of chunk r-reporters-powerpoint-slide-layout-" alt="plot of chunk r-reporters-powerpoint-slide-layout-" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerpoint-slide-layout-5.png" title="plot of chunk r-reporters-powerpoint-slide-layout-" alt="plot of chunk r-reporters-powerpoint-slide-layout-" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerpoint-slide-layout-6.png" title="plot of chunk r-reporters-powerpoint-slide-layout-" alt="plot of chunk r-reporters-powerpoint-slide-layout-" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerpoint-slide-layout-7.png" title="plot of chunk r-reporters-powerpoint-slide-layout-" alt="plot of chunk r-reporters-powerpoint-slide-layout-" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerpoint-slide-layout-8.png" title="plot of chunk r-reporters-powerpoint-slide-layout-" alt="plot of chunk r-reporters-powerpoint-slide-layout-" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerpoint-slide-layout-9.png" title="plot of chunk r-reporters-powerpoint-slide-layout-" alt="plot of chunk r-reporters-powerpoint-slide-layout-" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerpoint-slide-layout-10.png" title="plot of chunk r-reporters-powerpoint-slide-layout-" alt="plot of chunk r-reporters-powerpoint-slide-layout-" width="268.8" /></p>
<div class="warning">
<p>Notez que, la mise en page s?lectionn?e d?termine le contenu que vous pouvez ajouter dans la diapositive (Voir la figure ci-dessus).</p>
<ol style="list-style-type: decimal">
<li>Exemple 1 - Si vous choisissez <strong>?Title and Content?</strong> comme mise en page, vous pouvez ajouter uniquement:
<ul>
<li>un titre</li>
<li>et un contenu pouvant ?tre du texte, un graphique, une image, un tableau ou du code R</li>
</ul></li>
<li>Exemple 2 - Si vous choisissez <em>?Two Content?</em> comme mise en page, vous pouvez ajouter:
<ul>
<li>un titre</li>
<li>et deux contenus: Par exemple, vous pouvez ajouter une table dans le panneau de gauche et un paragraphe de textes dans le panneau de droite.</li>
</ul></li>
<li>Exemple 3 - Si vous choisissez <strong>?Comparison?</strong>, vous pouvez ajouter un titre et quatre contenus (graphes, tables, paragraphes, images)</li>
</ol>
</div>
<p><span class="success">Quelle que soit la mise en page de diapositive choisie, vous pouvez utiliser les fonctions <strong>addDate()</strong>, <strong>addFooter()</strong> et <strong>addPageNumber()</strong> pour ajouter une date, un pied de page et un num?ro de diapositive respectivement.</span></p>
</div>
<div id="generer-un-document-powerpoint-simple-a-partir-du-logiciel-r" class="section level2">
<h2>G?n?rer un document PowerPoint simple ? partir du logiciel R</h2>
<p>Le code de R ci-dessous cr?e un document PowerPoint avec une diapositive de titre, des graphes, des tables et un script R:</p>
<pre class="r"><code>library( ReporteRs )

# Cr?er un document PowerPoint
doc = pptx( )

# Diapo 1 : Diapositive de titre
#+++++++++++++++++++++++
doc <- addSlide(doc, "Title Slide")
doc <- addTitle(doc,"Create a PowerPoint document from R software")
doc <- addSubtitle(doc, "R and ReporteRs package")
doc <- addDate(doc)
doc <- addFooter(doc, "Isaac Newton")
doc <- addPageNumber(doc, "1/4")

# Diapo 2 : Ajouter un graphe
#+++++++++++++++++++++++
doc <- addSlide(doc, "Title and Content")
doc <- addTitle(doc, "Bar plot")
plotFunc<- function(){
  barplot(VADeaths, beside = TRUE,
          col = c("lightblue", "mistyrose", "lightcyan",
                  "lavender", "cornsilk"),
  legend = rownames(VADeaths), ylim = c(0, 100))
  title(main = "Death Rates in Virginia", font.main = 4)
}
doc <- addPlot(doc, plotFunc )
doc <- addPageNumber(doc, "2/4")

# Diapo 3 : Ajouter une table 
#+++++++++++++++++++++++
doc <- addSlide(doc, "Two Content")
doc <- addTitle(doc,"iris data sets")
doc <- addFlexTable(doc, FlexTable(iris[1:10,] ))
doc <- addParagraph(doc, "iris data set gives the measurements in centimeters of the variables sepal length and width and petal length and width, respectively, for 50 flowers from each of 3 species of iris. The species are Iris setosa, versicolor, and virginica.")
doc <- addPageNumber(doc, "3/4")

# Diapo 4 : Add du code R
#+++++++++++++++++++++
doc <- addSlide(doc, "Content with Caption")
doc <- addTitle(doc, "R Script for histogram plot")
doc <- addPlot(doc, function() hist(iris$Sepal.Width, col=4))
r_code ="data(iris)
hist(iris$Sepal.Width, col = 4)"
doc <- addRScript(doc, text=r_code)

# Enregistrer le document 
writeDoc(doc, "r-reporters-powerpoint.pptx" )</code></pre>
<p><span class="success">Le document PowerPoint cr??e par le code <strong>R</strong> ci-dessus est disponible ici: <a href="https://www.sthda.com/french/french/sthda/RDoc/example-files/r-reporters-powerpoint.docx">Logiciel R et le package ReporteRs - Example de cr?ation de document PowerPoint</a></span></p>
<iframe src="http://www.slideshare.net/slideshow/embed_code/43182752" width="510" height="420" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>  
   

<br />
<div class="block">
<p>Notez que, vous pouvez utiliser la fonction <strong>addPageNumber()</strong> sans pr?ciser la valeur du num?ro de la diapositive, comme suit:</p>
<pre class="r"><code>doc <- addPageNumber(doc)</code></pre>
<p>Dans ce cas, le num?ro de diapositive est ajout?e en utilisant les param?tres par d?faut (par exemple: 1 pour diapo1, 2 pour la diapositive 2).</p>
<p>Si vous souhaitez personnaliser la num?rotation, utilisez la fonction comme suit:</p>
<pre class="r"><code>doc <- addPageNumber(doc, "1/2") # Exemple 1
doc <- addPageNumber(doc, "I") # Exemple 2</code></pre>
</div>
<p><br/></p>
</div>
<div id="formater-le-texte-dun-document-powerpoint" class="section level2">
<h2>Formater le texte d?un document PowerPoint</h2>
<div id="les-proprietes-de-texte-police-la-couleur-et-la-taille" class="section level3">
<h3>Les propri?t?s de texte: police, la couleur et la taille</h3>
<p>Comme illustr? sur la figure ci-dessous, les propri?t?s de texte comprennent:</p>
<ul>
<li><strong>Font</strong> : family (e.g : ?Arial?), size (e.g : 11), style (e.g : ?italic?)</li>
<li><strong>Underlined</strong> text</li>
<li><strong>Color</strong> (e.g : ?blue?)</li>
<li><strong>Vertical align</strong> (superscript, subscript)</li>
</ul>
<p><span class="success">Je fais expr?s de ne pas traduire le texte ci-dessus pour ?tre en ad?quation avec les termes utilis?s dans le script R</span></p>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-reporters-powerpoint-text-properties.png" alt="Ecrire un document PowerPoint avec le logiciel R et le package ReporteRs" /></p>
<p>La taille (font size) et le type de police (font family) du PowerPoint peuvent ?tre modifi?s comme suit:</p>
<pre class="r"><code>options( "ReporteRs-fontsize" = 18, 
         "ReporteRs-default-font" = "Arial")</code></pre>
</div>
<div id="changer-lapparence-dun-bout-de-texte" class="section level3">
<h3>Changer l?apparence d?un ?bout de texte?</h3>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-reporters-word-document-text-appearance.png" alt="Write a PowerPoint document using R software and ReporteRs package, format the text" /></p>
<p><br/> La fonction <strong>pot()</strong> [Pieces Of Text] est utilis?e pour modifier l?apparence d?un texte. Elle peut ?galement ?tre utilis?e pour cr?er un <strong>lien hypertexte</strong>. Le format est:</p>
<pre class="r"><code>pot(value="", format = textProperties())</code></pre>
<br/>
<div class="block">
<ul>
<li><strong>value</strong> : le texte ? formater</li>
<li><strong>format</strong> : les propri?t?s ? utiliser pour formater le texte</li>
</ul>
</div>
<p><br/></p>
<p>Les valeurs autoris?es pour l?argument <em>format</em> sont les fonctions suivantes:</p>
<ul>
<li><em>textProperties()</em> : les propri?t?s de formatage de textes</li>
<li><em>textBold()</em>, <em>textItalic()</em>, <em>textBoldItalic()</em> et <em>textNormal()</em> qui sont des raccourcis pour le texte en <em>gras</em> (bold), <em>italique</em> (italic), <em>gras-italique</em> (bold-italic) et <em>normal</em>, respectivement.</li>
</ul>
<p>Ces fonctions peuvent prendre les arguments ci-dessous:</p>
<br/>
<div class="block">
<ul>
<li>color : couleur de la police; ex : color=?#000000? ou color = ?black?.</li>
<li>font.size : un entier indiquant la taille de la police.</li>
<li>font.weight : le <em>font weight</em>. Valeurs possibles: ?normal? ou ?bold?.</li>
<li>font.style : le <em>style de la police</em>. Valeurs possibles: ?normal? ou ?italic?.</li>
<li>underlined : une valeur logique pr?cisant si le texte doit ?tre <em>soulign?</em>.</li>
<li>font.family : le <em>type de police</em>; ex : ?Arial?.</li>
<li>vertical.align : l?<em>alignement vertical</em> des caract?res. Valeurs possibles: ?baseline?" ou ?subscript? ou ?superscript?.</li>
<li>shading.color : couleur de fond du texte (ex ?#000000? ou ?black?)</li>
</ul>
</div>
<p><br/></p>
<p>Le <strong>code R</strong> ci-dessous cr?e un document PowerPoint contenant un texte format? et un lien hypertexte:</p>
<pre class="r"><code>library( ReporteRs )

# Changer le type et la taille de police par d?faut
options(&#39;ReporteRs-fontsize&#39;= 18, &#39;ReporteRs-default-font&#39;=&#39;Arial&#39;)

doc = pptx( )

doc <- addSlide(doc, "Two Content")
doc <- addTitle(doc,"Document with formatted texts")
doc <- addFlexTable(doc, FlexTable(iris[1:10,] ))

my_text <- pot("iris data set", textBold(color = "blue"))+
          " contains the measurements of " + 
          pot("sepal length", textBold(color="red"))+ 
        " and width and petal length and width"
  
my_link <- pot(&#39;Click here to visit STHDA web site!&#39;, 
    hyperlink = &#39;https://www.sthda.com/english&#39;,
    format=textBoldItalic(color = &#39;blue&#39;, underline = TRUE ))

doc <- addParagraph(doc, 
      value = set_of_paragraphs(my_text, " ",  my_link),
     par.properties=parProperties(text.align="justify")
    )

writeDoc(doc, "r-reporters-powerpoint-formatted.pptx" )</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-reporters-powerpoint-formatted-text.png" alt="Ecrire un document PowerPoint avec le logiciel R et le package ReporteRs, formater le texte" /></p>
</div>
</div>
<div id="ajouter-des-graphiques-et-des-images" class="section level2">
<h2>Ajouter des graphiques et des images</h2>
<p>Les fonctions <strong>addPlot()</strong> et <strong>addImage()</strong> peuvent ?tre utilis?es pour ajouter un graphe ou une image externe au document. <em>addPlot()</em> fonctionnent avec tous les graphiques R (graphiques de base, lattice, ggplot2 et grid).</p>
<p>Ces deux fonctions peuvent ?tre utilis?es comme suit :</p>
<pre class="r"><code># Ajouter des graphes
# fun : fonction R pour g?n?rer un graphe
# ... : d&#39;autres arguments ? passer ? la fonction graphique
addPlot(doc, fun, ...)

# Ajouter des images
# filename : chemin de l&#39;image
addImage(doc, filename)</code></pre>
<p>Le code de R ci-dessous cr?e un document PowerPoint contenant un histogramme et une image (t?l?chargeable sur le site de R):</p>
<pre class="r"><code>library( ReporteRs )

doc = pptx()

# Diapo 1 : Diapositive de titre
doc <- addSlide(doc, "Title Slide")
doc <- addTitle(doc,"Document containing plots and images")
doc <- addSubtitle(doc, "R and ReporteRs package")

# Diapo 2 : Ajouter un graphe
doc <- addSlide(doc, "Two Content")
doc <- addTitle(doc,"Histogram plot")
doc <- addPlot(doc, function() hist(iris$Sepal.Width, col="lightblue"))
doc <- addParagraph(doc, "This histogram is generated using iris data sets")

# Diapo 3 : Ajouter une image
# T?l?charger une image ? partir du site R
download.file(url="http://www.r-project.org/hpgraphic.png",
              destfile="r-home-image.png", quiet=TRUE)
doc <- addSlide(doc, "Two Content")
doc <- addTitle(doc,"Image from R website")
doc <- addImage(doc, "r-home-image.png")
doc <- addParagraph(doc, "This image has been downloaded from R website")
 
writeDoc(doc, "r-reporters-powerpoint-plot-image.pptx")</code></pre>
<p><span class="success">Le document PowerPoint cr??e par le code de <strong>R</strong> ci-dessus est disponible ici: <a href="https://www.sthda.com/french/french/sthda/RDoc/example-files/r-reporters-powerpoint-plot-image.pptx">Logiciel R et le package ReporteRs - Document PowerPoint contenant des graphes et des images</a></span></p>
<iframe src="http://www.slideshare.net/slideshow/embed_code/43187047" width="510" height="420" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>
    

<br />
<div class="block">
<ol style="list-style-type: decimal">
<li><p>Notez que, <strong>addPlot()</strong> peut prendre d?autres arguments tels que <em>pointsize</em> pour modifier la taille des textes sur le graphe (la valeur par d?faut est 12; en pixels)</p></li>
<li>Pour la fonction <strong>addImage()</strong>, les formats de fichiers accept?s sont les images PNG, WMF, JPEG et GIF.</li>
</ol>
</div>
<p><br/></p>
</div>
<div id="ajouter-une-table" class="section level2">
<h2>Ajouter une table</h2>
<p>La fonction <strong>addFlexTable()</strong> est utilis?e pour formater et ajouter une table dans le PowerPoint.</p>
<p>Elle peut ?tre utilis?e comme suit :</p>
<ul>
<li>?TAPE 1: Cr?er une table en utilisant <em>FlexTable()</em> ou la fonction <em>vanilla.table()</em>. Ces deux fonctions g?n?rent une table ?flexible? qui peut ?tre facilement format?e avant d??tre ajout?e dans la diapositive.</li>
<li>?TAPE 2: Ajoutez la table cr??e dans le document en utilisant la fonction <em>addFlexTable()</em> comme suit:</li>
</ul>
<pre class="r"><code># doc : objet pptx
# flextable : FlexTable object

# Exemple 1
doc <- addFlexTable(doc, flextable = FlexTable(data))

# Exemple 2 
doc <- addFlexTable(doc, flextable = vanilla.table(data))</code></pre>
<p><span class="success">La fonction <strong>setZebraStyle()</strong> peut ?tre utilis?e pour colorer diff?remment les lignes paires et impaires; par exemple, les <em>lignes impaires</em> en <em>gris</em> et les <em>lignes paires</em> en blanc.</span></p>
<p>L?exemple ci-dessous cr?e un document PowerPoint avec 3 diapositives contenant un tableau simple (diapo 1), une ?vanilla table? (diapo 2) et une table en style z?bre (diapo 3):</p>
<pre class="r"><code>doc = pptx()

data<-iris[1:5, ]

# Diapo 1 : Table simple
doc <- addSlide(doc, "Title and Content")
doc <- addTitle(doc,"Simple table")
doc <- addFlexTable(doc, FlexTable(data))

# Diapo 2 : vanilla table
doc <- addSlide(doc, "Title and Content")
doc <- addTitle(doc,"Vanilla table")
doc <- addFlexTable(doc, vanilla.table(data))

# Diapo 3 : table en style z?bre
doc <- addSlide(doc, "Title and Content")
doc <- addTitle(doc,"Zebra striped table")
MyFTable <- vanilla.table(data)
MyFTable <- setZebraStyle(MyFTable, odd = &#39;#eeeeee&#39;, even = &#39;white&#39;)
doc <- addFlexTable( doc, MyFTable)

writeDoc(doc, "r-reporters-powerpoint-add-table.pptx")</code></pre>
<p><span class="success">Le document PowerPoint cr??e par le code de <strong>R</strong> ci-dessus est disponible ici : <a href="https://www.sthda.com/french/french/sthda/RDoc/example-files/r-reporters-powerpoint-add-table.pptx">Logiciel R et le package ReporteRs - Document PowerPoint contenant des tables</a></span></p>
<iframe src="http://www.slideshare.net/slideshow/embed_code/43188796" width="510" height="420" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>
      


</div>
<div id="ajouter-des-listes-ordonnees-et-non-ordonnees" class="section level2">
<h2>Ajouter des listes ordonn?es et non ordonn?es</h2>
<p>Les listes peuvent ?tre ajout?es en utilisant la fonction <strong>addParagraph()</strong> comme suit:</p>
<pre class="r"><code>doc  <- addParagraph(doc, 
  value = c(&#39;Item 1&#39;, "Item 2", "Item 3")
  par.properties = parProperties(list.style = &#39;ordered&#39;, level = 1 )</code></pre>
<br/>
<div class="block">
<ul>
<li><strong>value</strong> : un ensemble d??l?ments ? ajouter comme une liste</li>
<li><strong>par.properties</strong> : fonction contenant les propri?t?s de formatage du paragraphe. Elle prend comme arguments <em>list.style</em> et <em>level</em> :
<ul>
<li><em>list.style</em> : les valeurs possibles sont ?unordered? et ?ordered?</li>
<li><em>level</em> : une valeur num?rique indiquant le niveau de l??l?ment ? ajouter dans la liste</li>
</ul></li>
</ul>
</div>
<p><br/></p>
<p>L?exemple ci-dessous g?n?re un document PowerPoint d?une diapositive contenant une listes ordonn?es et non ordonn?es:</p>
<pre class="r"><code>doc <- pptx()

doc <- addSlide(doc, "Two Content")
doc <- addTitle(doc, "Ordered and unordored lists")

# 1. Liste ordonn?e
doc <- addParagraph(doc, value= c("Item 1", "Item 2", "Item 3"),
          par.properties =  parProperties(list.style = &#39;ordered&#39;))

# 2. Liste non-ordonn?e
doc <- addParagraph(doc, value= c("Item 1", "Item 2", "Item 3"),
          par.properties =  parProperties(list.style = &#39;unordered&#39;))

writeDoc(doc, file = "r-reporters-powerpoint-lists.pptx")</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-reporters-word-document-simple-list.png" alt="Logiciel R et le package ReporteRs, ajouter des listes dans un document Powerpoint" /></p>
</div>
</div>
<div id="creez-un-document-powerpoint-a-partir-dun-fichier-modele" class="section level1">
<h1>Cr?ez un document PowerPoint ? partir d?un fichier mod?le</h1>
<p>Cette approche est utile dans de nombreuses situations:</p>
<ul>
<li>Si vous travaillez dans une entreprise et vous souhaitez g?n?rer un document PowerPoint bas? sur un mod?le avec des polices sp?cifiques, des couleurs, des logos, etc.</li>
<li>Si vous souhaitez modifier et ins?rer de nouveaux contenus dans un document PowerPoint existant.</li>
<li>Si vous souhaitez utiliser des styles de texte et des mises en page de diapositives ? partir d?un fichier mod?le (template).</li>
</ul>
<p><span class="warning">Notez que, si vous utilisez un fichier mod?le pour cr?er un document PowerPoint, les mises en page sont celles disponibles dans le fichier mod?le.</span></p>
<p>Un fichier mod?le peut ?tre sp?cifi? ? la fonction <strong>pptx()</strong> comme suit:</p>
<pre class="r"><code># Cr?er un document PowerPoint
doc <- pptx(template="path/to/your/powerpoint/template/file.pptx")

# ...............
# Ajouter du contenu
# ...............

# Enregistrer le fichier
writeDoc(doc, file = "output-file.pptx")</code></pre>
<p>Dans la section suivante Nous allons:</p>
<ul>
<li>t?l?charger un fichier mod?le de PowerPoint sur le site STHDA</li>
<li>v?rifiez les mises en page de diapositives disponibles dans le fichier mod?le</li>
<li>Cr?ez un document PowerPoint bas? sur le mod?le</li>
</ul>
<div id="telecharger-un-fichier-modele" class="section level2">
<h2>T?l?charger un fichier mod?le</h2>
<pre class="r"><code># T?l?charger un fichier mod?le ? partir du site STHDA
download.file(url="https://www.sthda.com/sthda/RDoc/example-files/r-reporters-powerpoint-template.pptx",
    destfile="r-reporters-powerpoint-template.pptx", quiet=TRUE)</code></pre>
</div>
<div id="mises-en-page-de-diapositives-disponibles-dans-le-fichier-modele" class="section level2">
<h2>Mises en page de diapositives disponibles dans le fichier mod?le</h2>
<p>Vous pouvez utiliser une des mises en page ci-dessous lors de l?ajout d?une nouvelle diapositive dans le PowerPoint:</p>
<pre class="r"><code>doc <- pptx(template="r-reporters-powerpoint-template.pptx")
layouts <-slide.layouts(doc) # Mises en page disponibles
# Dessiner les mises en page
for(i in layouts ){
  par(mar=c(0.5,0.5,2,0.5), cex=0.7)
  slide.layouts(doc, i )
  title(main = paste0("&#39;", i, "&#39;" ))
  if(interactive()) readline(prompt = "Show next slide layout")
}</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout1.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout2.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout3.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout4.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout5.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout6.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout7.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout8.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout9.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout10.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout11.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout12.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout13.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout14.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout15.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/import-export-data/r-reporters-powerpoint-r-reporters-powerPoint-template-layout16.png" title="plot of chunk r-reporters-powerPoint-template-layout" alt="plot of chunk r-reporters-powerPoint-template-layout" width="268.8" /></p>
</div>
<div id="creez-un-document-powerpoint-a-partir-du-fichier-modele" class="section level2">
<h2>Cr?ez un document PowerPoint ? partir du fichier mod?le</h2>
<p><span class="notice">Notez que, le fichier mod?le contient d?j? une diapositive vide qui peut ?tre enlev?e manuellement.</span></p>
<pre class="r"><code>library( ReporteRs )

# T?l?charger un fichier mod?le ? partir du site STHDA
download.file(url="https://www.sthda.com/sthda/RDoc/example-files/r-reporters-powerpoint-template.pptx",
    destfile="r-reporters-powerpoint-template.pptx", quiet=TRUE)

options(&#39;ReporteRs-fontsize&#39;= 18, &#39;ReporteRs-default-font&#39;=&#39;Arial&#39;)

doc <- pptx(template="r-reporters-powerpoint-template.pptx" )

# Diapo 1 : Diapositive de titre
#+++++++++++++++++++++++
doc <- addSlide(doc, "Title Slide")
doc <- addTitle(doc,"Create a PowerPoint from template using R software")
doc <- addSubtitle(doc, "R and ReporteRs package")
doc <- addDate(doc)
doc <- addFooter(doc, "Isaac Newton")
doc <- addPageNumber(doc, "1/4")

# Diapo 2 : Ajouter un graphe
#+++++++++++++++++++++++
doc <- addSlide(doc, "Title and Content")
doc <- addTitle(doc, "Bar plot")
plotFunc<- function(){
  barplot(VADeaths, beside = TRUE,
          col = c("lightblue", "mistyrose", "lightcyan",
                  "lavender", "cornsilk"),
  legend = rownames(VADeaths), ylim = c(0, 100))
  title(main = "Death Rates in Virginia", font.main = 4)
}
doc <- addPlot(doc, plotFunc )
doc <- addPageNumber(doc, "2/4")

# Diapo 3 : Ajouter une table 
#+++++++++++++++++++++++
doc <- addSlide(doc, "Two Content")
doc <- addTitle(doc,"iris data sets")
doc <- addFlexTable(doc, FlexTable(iris[1:4,] ))
doc <- addParagraph(doc, "iris data set gives the measurements in centimeters of the variables sepal length and width and petal length and width, respectively, for 50 flowers from each of 3 species of iris. The species are Iris setosa, versicolor, and virginica.")
doc <- addPageNumber(doc, "3/4")

# Diapo 4 : Ajouter du code R
#+++++++++++++++++++++
doc <- addSlide(doc, "Content with Caption")
doc <- addTitle(doc, "R Script for histogram plot")
doc <- addPlot(doc, function() hist(iris$Sepal.Width, col=4))
r_code ="data(iris)
hist(iris$Sepal.Width, col = 4)"
doc <- addRScript(doc, text=r_code)

# Enregistrer le document 
writeDoc(doc, "r-reporters-powerpoint-from-template.pptx" )</code></pre>
<p><span class="success">Le document PowerPoint cr??e par le code de <strong>R</strong> ci-dessus est disponible ici : <a href="https://www.sthda.com/french/french/sthda/RDoc/example-files/r-reporters-powerpoint-from-template.pptx">Logiciel R et le package ReporteRs - Document PowerPoint ? partir d?un mod?le</a></span></p>
<iframe src="http://www.slideshare.net/slideshow/embed_code/43190417" width="510" height="420" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>



</div>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning"> Cette analyse a ?t? r?alis?e en utilisant R (ver. 3.1.0). </span></p>
<p>Vous pouvez lire d?avantage et t?l?charger le code source de ReporteRs ? ce lien:</p>
<p>GitHub (David Gohel): <a href="https://github.com/davidgohel/ReporteRs" rel="nofollow" target="_blank">ReporteRs</a></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('h1').addClass('wiki_paragraph1');
    jQuery('h2').addClass('wiki_paragraph2');
    jQuery('h3').addClass('wiki_paragraph3');
    jQuery('h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->


<!-- END HTML -->]]></description>
			<pubDate>Mon, 12 Jan 2015 22:42:00 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[xlsx : le meilleur package pour connecter Excel avec le logiciel R]]></title>
			<link>https://www.sthda.com/french/wiki/xlsx-le-meilleur-package-pour-connecter-excel-avec-le-logiciel-r</link>
			<guid>https://www.sthda.com/french/wiki/xlsx-le-meilleur-package-pour-connecter-excel-avec-le-logiciel-r</guid>
			<description><![CDATA[<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">

<div id="TOC">
<ul>
<li><a href="#installer-et-charger-le-package-xlsx">Installer et charger le package xlsx</a></li>
<li><a href="#lire-un-fichier-excel">Lire un fichier Excel</a></li>
<li><a href="#ecrire-des-donnees-dans-un-fichier-excel">Ecrire des donn?es dans un fichier Excel</a></li>
<li><a href="#un-fonction-r-simple-pour-exporter-rapidement-plusieurs-data-sets-dans-le-meme-classeur-excel">Un fonction R simple pour exporter rapidement plusieurs data sets dans le m?me classeur Excel</a></li>
<li><a href="#creer-et-formater-un-classeur-excel">Cr?er et formater un classeur Excel</a><ul>
<li><a href="#etape-15.-creer-un-nouveau-classeur-excel">Etape 1/5. Cr?er un nouveau classeur Excel</a></li>
<li><a href="#etape-25.-definir-des-styles-pour-formater-le-classeur-excel">Etape 2/5. D?finir des styles pour formater le classeur Excel</a></li>
<li><a href="#etape-35.-ajouter-des-donnees-et-des-graphiques-dans-le-classeur">Etape 3/5. Ajouter des donn?es et des graphiques dans le classeur</a><ul>
<li><a href="#creer-une-nouvelle-feuille-dans-le-classeur">Cr?er une nouvelle feuille dans le classeur</a></li>
<li><a href="#ajouter-un-titre-dans-la-feuille-excel">Ajouter un titre dans la feuille Excel</a></li>
<li><a href="#ajouter-une-table-dans-le-classeur">Ajouter une table dans le classeur</a></li>
<li><a href="#ajouter-un-graphe-dans-une-feuille-excel">Ajouter un graphe dans une feuille Excel</a></li>
<li><a href="#etape-45.-enregistrer-le-classeur-excel">Etape 4/5. Enregistrer le classeur Excel</a></li>
<li><a href="#etape-55.-ouvrir-et-visualiser-le-fichier-excel">Etape 5/5. Ouvrir et visualiser le fichier Excel</a></li>
<li><a href="#le-script-complet-pour-creer-et-formmater-un-fichier-excel">Le script complet pour cr?er et formmater un fichier Excel</a></li>
</ul></li>
</ul></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/></p>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-xlsx-package.png" alt="Lire et ?crire des fichiers Excel avec le logiciel R, package xlsx" /></p>
<p>Il existe plusieurs solutions pour <strong>importer</strong> et <strong>exporter</strong> des <strong>fichiers Excel</strong> en utilisant le <strong>Logiciel R</strong>.</p>
<p>Le package <strong>xlsx</strong> est l?un des plus performants packages R pour <strong>lire</strong>, <strong>?crire</strong> et <strong>formater</strong> des fichiers <strong>Excel</strong>. C?est une solution Java-d?pendante qui est compatible Windows, Mac et Linux. Il fonctionne ? la fois pour les formats de fichiers de types <strong>Excel 2007</strong> et <strong>Excel 97/2000/XP/2003</strong> (c?est ? dire les formats <strong>xls</strong> et <strong>xlsx </strong>).</p>
<p>Malheureusement le <strong>package xlsx</strong> n?est pas bien document?.</p>
<p><span class="success">Cet article est un guide de d?marrage rapide pour manipuler des <strong>fichiers Excel</strong> dans <strong>R</strong> en utilisant le <strong>package xlsx</strong>.</span></p>
<br>
<div class="block">
<p>Dans ce tutoriel vous allez apprendre comment :</p>
<ul>
<li><strong>Lire</strong> et <strong>?crire</strong> des fichiers Excel</li>
<li><strong>Ajouter des tables de donn?es</strong> et <strong>images</strong> (ou graphes) dans un classeur Excel</li>
<li><strong>Formater l?apparence</strong> du fichier Excel en modifiant la police, les couleurs de textes et les bordures
</li>
</ul>
</div>
<p><br/></p>
<div id="installer-et-charger-le-package-xlsx" class="section level1">
<h1>Installer et charger le package xlsx</h1>
<pre class="r"><code>install.packages("xlsx") 
library("xlsx")</code></pre>
<p><span class="warning">Notez que le package xlsx d?pend des packages R <strong>rJava</strong> et <strong>xlsxjars</strong>.</span></p>
</div>
<div id="lire-un-fichier-excel" class="section level1">
<h1>Lire un fichier Excel</h1>
<p>Les fonctions <strong>read.xlsx()</strong> et <strong>read.xlsx2()</strong> peuvent ?tre utilis?es pour lire le contenu d?un classeur Excel dans R.</p>
<p>La diff?rence entre ces deux fonctions est :</p>
<ul>
<li><em>read.xlsx</em> pr?serve le type des donn?es. Il essaye de deviner le type de classe (nombre, caract?re, logique, ?) de chaque variable correspondant ? chaque colonne dans le classeur. A noter que la fonction <strong>read.xlsx</strong> est un peu plus lent pour lire des gros jeux de donn?es ( c?est ? dire une feuille Excel avec plus de 100 000 cellules).</li>
<li>La fonction <em>read.xlsx2</em> est beaucoup plus rapide sur des gros fichiers Excel.</li>
</ul>
<p>Le format simplifi? de ces fonctions est :</p>
<pre class="r"><code>read.xlsx(file, sheetIndex, header=TRUE, colClasses=NA)

read.xlsx2(file, sheetIndex, header=TRUE, colClasses="character")</code></pre>
<br/>
<div class="block">
<ul>
<li><strong>file</strong> : le chemin du fichier ? lire</li>
<li><strong>sheetIndex</strong> : num?ro du fichier ? lire; i.e : utiliser sheetIndex=1 pour lire le premier fichier</li>
<li><strong>header</strong> : une valeur logique. Si TRUE, la premi?re ligne est prise comme nom des variables</li>
<li><strong>colClasses</strong> : un vecteur de caract?res contenant le type de classe de chaque colonne</li>
</ul>
</div>
<p></br></p>
<p>Exemples :</p>
<pre class="r"><code>library(xlsx)
file <- system.file("tests", "test_import.xlsx", package = "xlsx")
res <- read.xlsx(file, 1)  # Lire la pr?mi?re feuille
head(res[, 1:6])</code></pre>
<pre><code>##          NA. Population Income Illiteracy Life.Exp Murder
## 1    Alabama       3615   3624        2.1    69.05   15.1
## 2     Alaska        365   6315        1.5    69.31   11.3
## 3    Arizona       2212   4530        1.8    70.55    7.8
## 4   Arkansas       2110   3378        1.9    70.66   10.1
## 5 California      21198   5114        1.1    71.71   10.3
## 6   Colorado       2541   4884        0.7    72.06    6.8</code></pre>
<p><span class="warning">Notez que les fonctions <strong>read.xlsx</strong> et <strong>read.xlsx2</strong> peuvent ?tre utilis?es pour lire ? la fois des fichiers de formats .xls et .xlsx.</span></p>
</div>
<div id="ecrire-des-donnees-dans-un-fichier-excel" class="section level1">
<h1>Ecrire des donn?es dans un fichier Excel</h1>
<p>Les fonctions <strong>write.xlsx</strong> et <strong>write.xlsx2</strong> peuvent ?tre utilis?es pour exporter des donn?es de <strong>R</strong> vers <strong>Excel</strong>. En revanche la fonction <strong>write.xlsx2</strong> est plus performante que <strong>write.xlsx</strong> pour les grosses tables de donn?es (avec plus de 100 000 cases).</p>
<p>Le format simplifi? de ces fonctions est :</p>
<pre class="r"><code>write.xlsx(x, file, sheetName="Sheet1", 
  col.names=TRUE, row.names=TRUE, append=FALSE)

write.xlsx2(x, file, sheetName="Sheet1",
  col.names=TRUE, row.names=TRUE, append=FALSE)</code></pre>
<br/>
<div class="block">
<ul>
<li><strong>x</strong> : le data.frame ? ?crire dans le fichier Excel</li>
<li><strong>file</strong> : chemin du fichier r?sultat</li>
<li><strong>sheetName</strong> : texte indiquant le nom de la feuille Excel</li>
<li><strong>col.names, row.names</strong> : une valeur logique indiquant si le nom des colonnes/lignes doit ?tre ?crit dans le fichier</li>
<li><strong>append</strong> : une valeur logique indiquant si les donn?es doivent ?tre ajout?e dans un fichier d?j? existant.</li>
</ul>
</div>
<p></br></p>
<p>Exemples :</p>
<pre class="r"><code>library(xlsx)
write.xlsx(USArrests, file="myworkbook.xlsx", 
           sheetName="USA Arrests")</code></pre>
<p><span class="warning">A noter que le code ci-dessus enregistre le fichier Excel dans le r?pertoire de travail courant de R.</span></p>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-xlsx-write-excel-files.png" alt="Lire et ?crire des fichiers Excel avec le logiciel R et le package xlsx" /></p>
<p>Il faudrait utiliser l?argument <strong>append = TRUE</strong> dans le but de pouvoir ajouter plusieurs data.frames dans le m?me classeur Excel. Ceci est illustr? avec le code R suivant:</p>
<pre class="r"><code># Ecrire la pr?miere table dans un nouveau classeur
write.xlsx(USArrests, file="myworkbook.xlsx",
      sheetName="USA-ARRESTS", append=FALSE)
# Ajouter une deuxi?me table
write.xlsx(mtcars, file="myworkbook.xlsx", sheetName="MTCARS", 
           append=TRUE)
# Ajouter une troisi?me table
write.xlsx(Titanic, file="myworkbook.xlsx", sheetName="TITANIC", 
           append=TRUE)</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-xlsx-write-multiple-data-same-excel-files.png" alt="Lire et ?crire des fichiers Excel avec le logiciel R et le package xlsx" /></p>
<p><span class="success">Comme vous pouvez le constater sur l?image ci-dessus, il est possible d?ajouter plusieurs tables de donn?es dans le m?me fichier Excel. Cependant, la m?thode est tr?s r?p?titive. Vous trouverez dans la section suivante, une fonction simple pour ajouter diff?rents types de donn?es en une seule ligne de code.</span></p>
</div>
<div id="un-fonction-r-simple-pour-exporter-rapidement-plusieurs-data-sets-dans-le-meme-classeur-excel" class="section level1">
<h1>Un fonction R simple pour exporter rapidement plusieurs data sets dans le m?me classeur Excel</h1>
<p>Cette partie propose une fonction R pour facilement <strong>exporter</strong> plusieurs tables de donn?es en une seule ligne de commande. Les diff?rentes tables sont ?crites dans le m?me classeur Excel. Le nom des tables est utilis? pour nommer les diff?rentes feuilles Excel.</p>
<p>Le code R de la fonction est la suivante :</p>
<pre class="r"><code>#+++++++++++++++++++++++++++
# xlsx.writeMultipleData
#+++++++++++++++++++++++++++++
# file : le chemin du fichier r?sultat
# ... : une liste de tables ? exporter vers Excel
xlsx.writeMultipleData <- function (file, ...)
  {
    require(xlsx, quietly = TRUE)
    objects <- list(...)
    fargs <- as.list(match.call(expand.dots = TRUE))
    objnames <- as.character(fargs)[-c(1, 2)]
    nobjects <- length(objects)
    for (i in 1:nobjects) {
        if (i == 1)
            write.xlsx(objects[[i]], file, sheetName = objnames[i])
        else write.xlsx(objects[[i]], file, sheetName = objnames[i],
            append = TRUE)
    }
  }</code></pre>
<p>Cette fonction est inspir?e de celle publi?e sur le site <a href="http://statmethods.wordpress.com/2014/06/19/quickly-export-multiple-r-objects-to-an-excel-workbook/" rel="nofollow">statmethods</a></p>
<p><span class="success">La fonction <strong>xlsx.writeMultipleData</strong> fonctionne pour les objets R de types data frames, matrices, s?ries temporelles et tables.</span></p>
<p><strong>Exemples d?utilisation :</strong></p>
<p>Utiliser le code R ci-dessous pour enregistrez les tables mtcars (une data frame), Titanic (une table), AirPassengers (une s?rie temporelle) et state.x77 (une matrice) :</p>
<pre class="r"><code>xlsx.writeMultipleData("myworkbook.xlsx",
        mtcars, Titanic, AirPassengers, state.x77)</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-excel-multiple-object-workbook.png" alt="Lire et ?crire un fichier Excel en utilisant le logiciel R, plusieurs tables dans le m?me classeur Excel" /></p>
</div>
<div id="creer-et-formater-un-classeur-excel" class="section level1">
<h1>Cr?er et formater un classeur Excel</h1>
<p>L?objectif de cette section est de vous montrer comment cr?er un beau rapport Excel contenant des graphiques et des tables format?es.</p>
<p>Les ?tapes suivantes sont n?cessaires :</p>
<br/>
<div class="block">
<ol style="list-style-type: decimal">
<li>Cr?er un classeur Excel</li>
<li>D?finir des <strong>styles de cellules</strong> : Couleur et taille de la police, <strong>alignement</strong> du texte, <strong>bordure</strong> et <strong>data frame</strong>, ?</li>
<li>Ecrire une table dans une feuille Excel en utilisant les styles d?finis ? l??tape 2.</li>
<li>Enregistrez le classeur Excel</li>
<li>Ouvrir et visualiser le fichier</li>
</ol>
</div>
<p><br/></p>
<p><span class="warning">Dans les prochaines sections, je vais vous montrer ?tape par ?tape comment changer l?apparence d?une feuille Excel dans R. Ceci n?est pas une tache simple avec le package <strong>xlsx</strong> et n?cessite du ?code pur et dur?. C?est pour cela que j?ai r?cemment impl?ment? le <a href="https://www.sthda.com/french/french/wiki/r2excel-creer-et-formater-facilement-un-document-excel-avec-le-logiciel-r"><strong>package r2excel</strong></a> qui d?pend du package <strong>xlsx</strong> et il fournit des fonctions simples pour rapidement importer, exporter et formater des fichiers Excel. Le package r2excel est d?cris dans mon pr?c?dent article : <a href="https://www.sthda.com/french/french/wiki/r2excel-creer-et-formater-facilement-un-document-excel-avec-le-logiciel-r">r2excel : Cr?er et formater facilement un document Excel avec le logiciel R</a>
</span></p>
<div id="etape-15.-creer-un-nouveau-classeur-excel" class="section level2">
<h2>Etape 1/5. Cr?er un nouveau classeur Excel</h2>
<p>La fonction <strong>createWorkbook()</strong> peut ?tre utilis?e pour cr?er des fichiers xls ou xlsx :</p>
<pre class="r"><code># Cr?er un classeur Excel
wb<-createWorkbook(type="xlsx")</code></pre>
</div>
<div id="etape-25.-definir-des-styles-pour-formater-le-classeur-excel" class="section level2">
<h2>Etape 2/5. D?finir des styles pour formater le classeur Excel</h2>
<p>Nous allons d?finir des styles pour changer :</p>
<ul>
<li>L?apparence du <strong>titre de la feuille</strong></li>
<li>L?apparence des <strong>noms de lignes/colonnes</strong> de la table</li>
<li>L?<strong>alignement du texte</strong> du nom des colonnes des tables</li>
<li>Les bordures des cellules autour des noms des colonnes</li>
</ul>
<p>La fonction <strong>CellStyle()</strong> peut ?tre utilis?e pour cr?er des styles de cellules. Un format simplifi? est :</p>
<pre class="r"><code>CellStyle(wb, dataFormat=NULL, alignment=NULL,
          border=NULL, fill=NULL, font=NULL)</code></pre>
<br/>
<div class="block">
<ul>
<li><strong>wb</strong> : le classeur Excel (objet).</li>
<li><strong>dataFormat</strong> : un objet <em>DataFormat</em></li>
<li><strong>alignment</strong> : un objet <em>Alignment</em></li>
<li><strong>border</strong> : un objet <em>Border</em></li>
<li><strong>font</strong> : un objet <em>Font</em></li>
</ul>
</div>
<p><br/></p>
<pre class="r"><code># D?finir quelques styles de cellules
#++++++++++++++++++++
# Titres et sous-titres
TITLE_STYLE <- CellStyle(wb)+ Font(wb,  heightInPoints=16, 
                            color="blue", isBold=TRUE, underline=1)
SUB_TITLE_STYLE <- CellStyle(wb) + 
                    Font(wb,  heightInPoints=14, 
                          isItalic=TRUE, isBold=FALSE)

# Styles pour les noms de lignes/colonnes
TABLE_ROWNAMES_STYLE <- CellStyle(wb) + Font(wb, isBold=TRUE)
TABLE_COLNAMES_STYLE <- CellStyle(wb) + Font(wb, isBold=TRUE) +
    Alignment(wrapText=TRUE, horizontal="ALIGN_CENTER") +
    Border(color="black", position=c("TOP", "BOTTOM"), 
           pen=c("BORDER_THIN", "BORDER_THICK")) </code></pre>
<br/>
<div class="block">
<ol style="list-style-type: decimal">
<li><strong>wb</strong> : un objet workbook (classeur Excel)</li>
<li><strong>Les arguments principaux pour la fonction Font()</strong> :
<ul>
<li><strong>color</strong> : couleur de la police</li>
<li><strong>heightInPoints</strong> : <em>taille de la police</em>. Valeurs habituelles 10, 12, 14, etc</li>
<li><strong>isBold, isItalic</strong> : une valeur logique sp?cifiant si la police doit ?tre en <strong>gras</strong> ou en <strong>italic</strong></li>
<li><strong>underline</strong> : un entier indiquant l??paisseur du soulignement. Valeurs possibles : 0, 1, 2.</li>
<li><strong>name</strong> : la police ? utiliser; i.e: ?Arial?.</li>
</ul></li>
<li><strong>Les arguments principaux pour la fonction Alignment() </strong> :
<ul>
<li><strong>wrapText</strong> : valeur logique indiquant l?utilisation du retour ? la ligne automatique (utile si le texte est trop long).</li>
<li><strong>horizontal</strong> : l?<em>alignement horizontal</em> du texte. Valeurs possibles : ?ALIGN_CENTER?, ?ALIGN_JUSTIFY?, ?ALIGN_LEFT?, ?ALIGN_RIGHT?.</li>
<li><strong>vertical</strong> : l?<em>alignemen vertical</em>. Valeurs possibles : ?VERTICAL_BOTTOM?, ?VERTICAL_CENTER?, ?VERTICAL_JUSTIFY?, ?VERTICAL_TOP?</li>
<li><strong>rotation</strong> : degr? de rotation du texte dans une cellule. Valeur par d?faut 0.</li>
</ul></li>
<li><strong>Les arguments principaux pour la fonction Border()</strong> :
<ul>
<li><strong>color</strong> : couleur des <em>bordures</em>; i.e : color=?red? ou color =?#FF0000?</li>
<li><em>position</em> : la position de la <em>bordure</em>. Valeurs possibles : ?BOTTOM?, ?LEFT?, ?TOP?, ?RIGHT?</li>
<li><strong>pen</strong> : le style du stylo. Valeurs possibles : ?BORDER_DASH_DOT?, ?BORDER_DASH_DOT_DOT?, ?BORDER_DASHED?, ?BORDER_DOTTED?, ?BORDER_DOUBLE?, ?BORDER_HAIR?, ?BORDER_MEDIUM?, ?BORDER_MEDIUM_DASH_DOT?, ?BORDER_MEDIUM_DASH_DOT_DOT?, ?BORDER_MEDIUM_DASHED?, ?BORDER_NONE?, ?BORDER_SLANTED_DASH_DOT?, ?BORDER_THICK?, ?BORDER_THIN?.</li>
</ul></li>
</ol>
</div>
<p><br/></p>
</div>
<div id="etape-35.-ajouter-des-donnees-et-des-graphiques-dans-le-classeur" class="section level2">
<h2>Etape 3/5. Ajouter des donn?es et des graphiques dans le classeur</h2>
<div id="creer-une-nouvelle-feuille-dans-le-classeur" class="section level3">
<h3>Cr?er une nouvelle feuille dans le classeur</h3>
<p>Pour ajouter les donn?es, la premi?re ?tape est de cr?er une feuille dans le classeur pour contenir les donn?es. Ceci peut ?tre effectu? en utilisant la fonction <strong>creatSheet()</strong> :</p>
<pre class="r"><code># Cr?er une nouvelle feuille dans le classeur
sheet <- createSheet(wb, sheetName = "US State Facts")</code></pre>
</div>
<div id="ajouter-un-titre-dans-la-feuille-excel" class="section level3">
<h3>Ajouter un titre dans la feuille Excel</h3>
<p>Pour ajouter un titre, la proc?dure est :</p>
<ol style="list-style-type: decimal">
<li>cr?er une nouvelle ligne</li>
<li>cr?er une cellule pour contenir le titre.</li>
<li>ajouter du texte dans la cellule.</li>
</ol>
<p>Pour simplifier le code R, j?ai ?crit une fonction pour l?ajout des titres :</p>
<pre class="r"><code>#++++++++++++++++++++++++
# Fonction helper pour ajouter des titres
#++++++++++++++++++++++++
# - sheet : la feuille Excel pour contenir le titre
# - rowIndex : num?ro de la ligne pour contenir le titre 
# - title : texte du titre
# - titleStyle : l&#39;objet style pour le titre
xlsx.addTitle<-function(sheet, rowIndex, title, titleStyle){
  rows <-createRow(sheet,rowIndex=rowIndex)
  sheetTitle <-createCell(rows, colIndex=1)
  setCellValue(sheetTitle[[1,1]], title)
  setCellStyle(sheetTitle[[1,1]], titleStyle)
}</code></pre>
<p><span class="warning">Copier et coller le code de la fonction xlsx.addTitle (ci-dessus) dans la console R avant de poursuivre.</span></p>
<pre class="r"><code># Ajouter un titre
xlsx.addTitle(sheet, rowIndex=1, title="US State Facts",
      titleStyle = TITLE_STYLE)
# Ajouter un sous-titre
xlsx.addTitle(sheet, rowIndex=2, 
      title="Data sets related to the 50 states of USA.",
      titleStyle = SUB_TITLE_STYLE)</code></pre>
</div>
<div id="ajouter-une-table-dans-le-classeur" class="section level3">
<h3>Ajouter une table dans le classeur</h3>
<p>La fonction <strong>addDataframe()</strong> pour ajouter une table dans une nouvelle feuille Excel.</p>
<p>Le jeu de donn?es <em>state.x77</em> est utilis? dans les exemples suivants :</p>
<pre class="r"><code>head(state.x77[, 1:6])</code></pre>
<pre><code>##            Population Income Illiteracy Life Exp Murder HS Grad
## Alabama          3615   3624        2.1    69.05   15.1    41.3
## Alaska            365   6315        1.5    69.31   11.3    66.7
## Arizona          2212   4530        1.8    70.55    7.8    58.1
## Arkansas         2110   3378        1.9    70.66   10.1    39.9
## California      21198   5114        1.1    71.71   10.3    62.6
## Colorado         2541   4884        0.7    72.06    6.8    63.9</code></pre>
<pre class="r"><code># Ajouter une table
addDataFrame(state.x77, sheet, startRow=3, startColumn=1, 
             colnamesStyle = TABLE_COLNAMES_STYLE,
             rownamesStyle = TABLE_ROWNAMES_STYLE)
# Changer la largeur des colonnes
setColumnWidth(sheet, colIndex=c(1:ncol(state.x77)), colWidth=11)</code></pre>
<br/>
<div class="block">
<ul>
<li><strong>Arguments pour la fonction addDataFrame()</strong> :
<ul>
<li><strong>startRow</strong>, <strong>startColumn</strong> : nombre indiquant la ligne et la colonne de d?but de la table</li>
<li><strong>colnameStyle</strong>, <strong>rownameStyle</strong> : un objet <em>CellStyle</em> pour personnaliser le nom des colonnes/lignes de la table</li>
</ul></li>
<li><strong>Arguments pour la fonction setColumnWidth()</strong> :
<ul>
<li><strong>colIndex</strong> : un vecteur de type <em>numeric</em> sp?cifiant les colonnes dont la largeur doit ?tre chang?e</li>
<li><strong>colWidth</strong> : la largeur de la colonne</li>
</ul></li>
</ul>
</div>
</div>
<div id="ajouter-un-graphe-dans-une-feuille-excel" class="section level3">
<h3>Ajouter un graphe dans une feuille Excel</h3>
<pre class="r"><code># Cr?er un graphe en png
png("boxplot.png", height=800, width=800, res=250, pointsize=8)
boxplot(count ~ spray, data = InsectSprays,
         col = "blue")
dev.off()

# Cr?er une nouvelle feuille pour contenir le graphique
sheet <-createSheet(wb, sheetName = "boxplot")
# Ajouter un titre ? la feuille
xlsx.addTitle(sheet, rowIndex=1, 
              title="Box plot using InsectSprays data",
              titleStyle = TITLE_STYLE)

# Ajouter le graphe cr?? pr?c?demment
addPicture("boxplot.png", sheet, scale = 1, startRow = 4,
          startColumn = 1)
# Supprimer le graphe du disque dur
res<-file.remove("boxplot.png")</code></pre>
</div>
<div id="etape-45.-enregistrer-le-classeur-excel" class="section level3">
<h3>Etape 4/5. Enregistrer le classeur Excel</h3>
<pre class="r"><code># Enregistrer le classeur dans un fichier
saveWorkbook(wb, "r-xlsx-report-example.xlsx")</code></pre>
</div>
<div id="etape-55.-ouvrir-et-visualiser-le-fichier-excel" class="section level3">
<h3>Etape 5/5. Ouvrir et visualiser le fichier Excel</h3>
<p>Ouvrez le r?pertoire courant de R et ouvrez le classeur Excel que vous venez de cr?er.</p>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-excel-xlsx-report-example1.png" alt="Lire et ?crire des fichiers Excel avec le logiciel R et le package xlsx" /> <img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-excel-xlsx-report-example2.png" alt="Lire et ?crire des fichiers Excel avec le logiciel R et le package xlsx" /></p>
<p><span class="warning"> Comme je l?ai mentionn? plus haut, le formatage des feuilles Excel peut se faire simplement et rapidement en utilisant le <a href="https://www.sthda.com/french/french/wiki/r2excel-creer-et-formater-facilement-un-document-excel-avec-le-logiciel-r"><strong>package r2excel</strong></a>. </span></p>
</div>
<div id="le-script-complet-pour-creer-et-formmater-un-fichier-excel" class="section level3">
<h3>Le script complet pour cr?er et formmater un fichier Excel</h3>
<pre class="r"><code>library(xlsx)
# Cr?er un workbook (classeur)
#++++++++++++++++++++++++++++++++++++
# Valeurs possibles pour l&#39;argument type : "xls" et "xlsx"
wb<-createWorkbook(type="xlsx")

# Definir quelques styles
#++++++++++++++++++++++++++++++++++++
# Titre et sous-titre
TITLE_STYLE <- CellStyle(wb)+ Font(wb,  heightInPoints=16, 
                                   color="blue", isBold=TRUE, underline=1)
SUB_TITLE_STYLE <- CellStyle(wb) + 
  Font(wb,  heightInPoints=14,
       isItalic=TRUE, isBold=FALSE)

# Styles pour le nom des lignes/colonnes
TABLE_ROWNAMES_STYLE <- CellStyle(wb) + Font(wb, isBold=TRUE)
TABLE_COLNAMES_STYLE <- CellStyle(wb) + Font(wb, isBold=TRUE) +
  Alignment(wrapText=TRUE, horizontal="ALIGN_CENTER") +
  Border(color="black", position=c("TOP", "BOTTOM"), 
         pen=c("BORDER_THIN", "BORDER_THICK")) 

# Cr?er une nouvelle feuille Excel
#++++++++++++++++++++++++++++++++++++
sheet <- createSheet(wb, sheetName = "US State Facts")

#++++++++++++++++++++++++
# Fonction helper pour ajouter des titres
#++++++++++++++++++++++++
# - sheet : la feuille Excel pour contenir le titre
# - rowIndex : num?ro de la ligne pour contenir le titre 
# - title : texte du titre
# - titleStyle : l&#39;objet style pour le titre
xlsx.addTitle<-function(sheet, rowIndex, title, titleStyle){
  rows <-createRow(sheet,rowIndex=rowIndex)
  sheetTitle <-createCell(rows, colIndex=1)
  setCellValue(sheetTitle[[1,1]], title)
  setCellStyle(sheetTitle[[1,1]], titleStyle)
}

# Ajouter des titres et sous-titres dans la feuille
#++++++++++++++++++++++++++++++++++++

# Ajouter un titre
xlsx.addTitle(sheet, rowIndex=1, title="US State Facts",
      titleStyle = TITLE_STYLE)
# Ajouter un sous-titre
xlsx.addTitle(sheet, rowIndex=2, 
      title="Data sets related to the 50 states of USA.",
      titleStyle = SUB_TITLE_STYLE)

# Ajouter une table
#++++++++++++++++++++++++++++++++++++
addDataFrame(state.x77, sheet, startRow=3, startColumn=1, 
             colnamesStyle = TABLE_COLNAMES_STYLE,
             rownamesStyle = TABLE_ROWNAMES_STYLE)
# Changer la largeur des colonnes
setColumnWidth(sheet, colIndex=c(1:ncol(state.x77)), colWidth=11)

# Ajouter un graphe
#++++++++++++++++++++++++++++++++++++
# Cr?er un graphe en png
png("boxplot.png", height=800, width=800, res=250, pointsize=8)
boxplot(count ~ spray, data = InsectSprays,
         col = "blue")
dev.off()
# Cr?er une nouvelle feuille pour contenir le graphe
sheet <-createSheet(wb, sheetName = "boxplot")
# Ajouter un titre
xlsx.addTitle(sheet, rowIndex=1, title="Box plot using InsectSprays data",
      titleStyle = TITLE_STYLE)
# Ajouter le graphe cr?? pr?c?demment
addPicture("boxplot.png", sheet, scale = 1, startRow = 4,
           startColumn = 1)
# supprimer le graphe du disque
res<-file.remove("boxplot.png")

# Enregistrer le calsseur Excel...
#++++++++++++++++++++++++++++++++++++
saveWorkbook(wb, "r-xlsx-report-example.xlsx")</code></pre>
</div>
</div>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning"> Cette analyse a ?t? r?alis?e avec R (ver. 3.1.0) </span></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('h1').addClass('wiki_paragraph1');
    jQuery('h2').addClass('wiki_paragraph2');
    jQuery('h3').addClass('wiki_paragraph3');
    jQuery('h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->

<!-- END HTML -->]]></description>
			<pubDate>Tue, 06 Jan 2015 19:06:38 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[r2excel : Créer et formater facilement un document Excel avec le logiciel R]]></title>
			<link>https://www.sthda.com/french/wiki/r2excel-creer-et-formater-facilement-un-document-excel-avec-le-logiciel-r</link>
			<guid>https://www.sthda.com/french/wiki/r2excel-creer-et-formater-facilement-un-document-excel-avec-le-logiciel-r</guid>
			<description><![CDATA[<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">


<div id="TOC">
<ul>
<li><a href="#plusieurs-solutions-existent-pour-ecrire-et-lire-un-fichier-excel-avec-r">Plusieurs solutions existent pour ?crire et lire un fichier Excel avec R</a></li>
<li><a href="#les-3-packages-a-connaitre-pour-gagner-du-temps">Les 3 packages ? connaitre pour gagner du temps</a></li>
<li><a href="#le-package-r2excel">Le package r2excel</a><ul>
<li><a href="#installation-et-chargement">Installation et chargement</a></li>
<li><a href="#les-fonctions-disponibles">Les fonctions disponibles</a></li>
<li><a href="#creer-votre-premier-fichier-excel">Cr?er votre premier fichier Excel</a></li>
<li><a href="#ajouter-des-titres">Ajouter des titres</a></li>
<li><a href="#ajouter-un-paragraph-de-textes">Ajouter un paragraph de textes</a></li>
<li><a href="#ajouter-un-lien">Ajouter un lien</a></li>
<li><a href="#ajouter-une-table-de-donnees-de-type-data.frame">Ajouter une table de donn?es de type data.frame</a></li>
<li><a href="#ajouter-un-graphe">Ajouter un graphe</a></li>
<li><a href="#lire-un-fichier-excel">Lire un fichier Excel</a></li>
<li><a href="#ecrire-un-fichier-excel">Ecrire un fichier Excel</a></li>
<li><a href="#un-rapport-excel-complet-avec-le-logiciel-r">Un rapport Excel complet avec le logiciel R</a></li>
</ul></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/></p>
<div id="plusieurs-solutions-existent-pour-ecrire-et-lire-un-fichier-excel-avec-r" class="section level1">
<h1>Plusieurs solutions existent pour ?crire et lire un fichier Excel avec R</h1>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-excel.png" alt="Lire et ?crire un fichier Excel avce le logiciel R, le package r2excel" /></p>
<p>Les fichiers <strong>Excel</strong> sont utilis?s par des millions de personnes pour sauvegarder et analyser leurs donn?es.</p>
<p>Diff?rents <strong>packages R</strong> et solutions pour <strong>importer des donn?es</strong> d?<strong>Excel</strong> vers <strong>R</strong> et d?en exporter de <strong>R</strong> vers <strong>Excel</strong> :</p>
<ul>
<li>La <strong>connection ODBC</strong>: Pour Windows seulement et n?cessite un driver ODBC pour Excel</li>
<li>Le package <strong>gdata</strong>: Existe pour Windows, Mac et Linux mais n?cessite l?installation de librairies du langage Perl</li>
<li>Le package <strong>xlsReadWrite</strong> : Pour Windows seulement mais il n?y a plus de version mise ? jour</li>
<li>Le logiciel <strong>RExcel</strong> : Un outil performant permettant d?ex?cuter directement du code R ? partir d?Excel. Cependant, il ne peut ?tre utilis? que sur Windows</li>
<li>Le package <strong>XLConnect</strong> : <strong>XLConnect</strong> est une solution java-d?pendante qui est compatible Windows, Mac et Linux. Il est un peu lent lorsque le jeu de donn?es est important</li>
<li>Le package <strong>xlsx</strong>: Ceci est mon package favoris pour <strong>lire</strong>, <strong>?crire</strong> et <strong>formater</strong> des fichiers Excel ? partir du <strong>Logiciel R</strong>. C?est une solution java-d?pendante et elle peut ?tre utilis?e pour lire et ?crire ? la fois les formats de fichiers <strong>xls</strong> et <strong>xlsx</strong>.</li>
</ul>
<br/>
<div class="warning">
<p>Comme indiqu? ci-dessus, il existe plusieurs m?thodes pour <strong>connecter R et Excel</strong>, mais beaucoup d?entre elles sont :</p>
<ul>
<li>difficiles ? utiliser</li>
<li>ou compatibles seulement avec Windows</li>
<li>ou n?cessitent des drivers additionnels</li>
<li>ou marchent seulement avec des versions anciennes d?Excel (<em>.xls</em> mais pas <em>.xlsx</em>)</li>
</ul>
</div>
</div>
<div id="les-3-packages-a-connaitre-pour-gagner-du-temps" class="section level1">
<h1>Les 3 packages ? connaitre pour gagner du temps</h1>
<p>Les trois packages que vous devez connaitre pour importer et exporter des donn?es ? partir/vers Excel sont <strong>xlsx</strong>, <strong>XLConnect</strong> et <strong>r2excel</strong>.</p>
<p>Lire ou ?crire des fichiers Excel est devenu une tache facile maintenant gr?ce aux packages <strong>xlsx</strong> et <strong>XLConnect</strong>.</p>
<p><strong>Formater</strong> un fichier Excel est aussi possible. Cependant, ceci n?cessite du ?Hard coding?. C?est la raison pour laquelle, j?ai impl?ment? le package <strong>r2excel</strong> contenant des fonctions pour rapidement et facilement importer, ?crire et personnaliser des fichiers Excel.</p>
<div class="success">
L?objectif de cet article est de vous montrer comment utiliser le package <strong>r2excel</strong>.
</div>
</div>
<div id="le-package-r2excel" class="section level1">
<h1>Le package r2excel</h1>
<div id="installation-et-chargement" class="section level2">
<h2>Installation et chargement</h2>
<p>Pour l?installation, utiliser le code R suivant :</p>
<pre class="r"><code>install.packages("devtools")
devtools::install_github("kassambara/r2excel")</code></pre>
<p>Charger le package avec le code ci-dessous :</p>
<pre class="r"><code>library(r2excel)</code></pre>
</div>
<div id="les-fonctions-disponibles" class="section level2">
<h2>Les fonctions disponibles</h2>
<p>La liste des fonctions disponibles dans le package <strong>r2excel</strong> est :</p>
<ul>
<li><strong>xlsx.addHeader</strong> pour ajouter des titres
</li>
<li><strong>xlsx.addPlot</strong> pour ajouter des graphiques</li>
<li><strong>xlsx.addParagraph</strong> pour ajouter des paragraphes de textes</li>
<li><strong>xlsx.addTable</strong> pour ajouter des data.frames.</li>
<li><strong>xlsx.addLineBreak</strong> pour ajouter un saut de ligne.</li>
<li><strong>xlsx.addHyperlink</strong> pour ajouter un hyper lien.</li>
<li><strong>xlsx.readFile</strong> pour lire un fichier Excel.</li>
<li><strong>xlsx.writeFile</strong> pour ?crire une table de donn?es dans un fichier Excel.</li>
<li><strong>xlsx.writeMultipleData</strong> pour exporter rapidement plusieurs tables de donn?es dans le m?me classeur Excel.</li>
<li><strong>xlsx.openFile</strong> pour ouvrir et voir un fichier Excel.</li>
</ul>
<p><span class="success">Ces fonctions sont d?crites dans les sections suivantes</span></p>
</div>
<div id="creer-votre-premier-fichier-excel" class="section level2">
<h2>Cr?er votre premier fichier Excel</h2>
<pre class="r"><code>library("r2excel")
# Cr?er un classeur Excel. 
# Les formats .xls et .xlsx peuvent ?tre utilis?s
filename <- "r2excel-example1.xlsx"
wb <- createWorkbook(type="xlsx")
# Cr?er une feuille dan le classeur Excel pour contenir les donn?es 
sheet <- createSheet(wb, sheetName = "example1")
 
# Ajouter un titre
xlsx.addHeader(wb, sheet, value="Add table",level=1, 
               color="black", underline=1)
xlsx.addLineBreak(sheet, 1)
 
# Ajouter un paragraph : Autheur
author=paste("Author : Alboukadel KASSAMBARA. \n",
             "@:alboukadel.kassambara@gmail.com.",
             "\n Website : http://ww.sthda.com", sep="")
xlsx.addParagraph(wb, sheet,value=author, isItalic=TRUE, colSpan=5, 
                  rowSpan=4, fontColor="darkgray", fontSize=14)
xlsx.addLineBreak(sheet, 3)
 
# Ajouter une table : data.frame
xlsx.addTable(wb, sheet, head(iris), startCol=2)
xlsx.addLineBreak(sheet, 2)
 
# Enregistrer le classeur dans un fichier
saveWorkbook(wb, filename)
xlsx.openFile(filename)# Voir le fichier</code></pre>
<p>L?image du fichier Excel cr?? par le code ci-dessus est :</p>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-excel-example1.png" alt="Lire et ?crire un fichier Excel avec le logicel R" /></p>
</div>
<div id="ajouter-des-titres" class="section level2">
<h2>Ajouter des titres</h2>
<p>Pour ajouter un titre, la fonction <strong>xlsx.addHeader()</strong> peut ?tre utilis?e. Un format simplifi? est :</p>
<pre class="r"><code>xlsx.addHeader(wb, sheet, value="Header", level=1, 
               color="#FFFFFF", underline=c(0,1,2))</code></pre>
<br/>
<div class="block">
<ul>
<li>wb : classeur Excel(workbook en anglais)</li>
<li>sheet : la feuille Excel</li>
<li>value : le text ? ajouter comme titre</li>
<li>level : le niveau du titre; valeurs possibles 1 ? 6 (pour titre1, titre2)</li>
<li>color : couleur ? utiliser pour le titre</li>
<li>underline : un nombre indiquant s?il faut souligner ou pas le titre. Valeurs possibles : 0 (par d?faut, texte non soulign?), 1 (texte soulign? avec un trait), 2 (texte soulign? avec 2 traits)</li>
</ul>
</div>
<p><br/></p>
<p>Exemples :</p>
<pre class="r"><code># cr?er le classeur et la feuille
wb <- createWorkbook(type="xlsx")
sheet <- xlsx::createSheet(wb, sheetName = "example1")

#Titre
#**************************************
# Titre de niveau 1
xlsx.addHeader(wb, sheet, value="Header 1",level=1, color="black")
# Titre de niveau 2
xlsx.addHeader(wb, sheet, value="Header 2",level=2, color="black")
# Titre de niveau 3
xlsx.addHeader(wb, sheet, value="Header 3",level=3, color="black")
# Titre de niveau 4
xlsx.addHeader(wb, sheet, value="Header 4",level=4, color="black")
# Titre de niveau 5
xlsx.addHeader(wb, sheet, value="Header 5",level=5, color="black")
# Titre de niveau 56
xlsx.addHeader(wb, sheet, value="Header 6",level=6, color="black")
 
# Ecrire le classeur Excel dans un fichier
saveWorkbook(wb, "examples_add_header.xlsx")
xlsx.openFile("examples_add_header.xlsx")# view the file</code></pre>
<p>L?image du fichier Excel cr?? par le code ci-dessus est :</p>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-excel-add-header.png" alt="Lire et ?crire un fichier Excel avec le logicel R" /></p>
</div>
<div id="ajouter-un-paragraph-de-textes" class="section level2">
<h2>Ajouter un paragraph de textes</h2>
<p>La fonction <strong>xlsx.addParagraph()</strong> peut ?tre utilis?e. Un format simplifi? est :</p>
<pre class="r"><code>xlsx.addParagraph(wb, sheet, value, fontColor="#FFFFFF", 
    fontSize=12, isBold=FALSE, isItalic=FALSE, 
    colSpan=10, rowSpan=5)</code></pre>
<br/>
<div class="block">
<ul>
<li>wb : classeur Excel</li>
<li>sheet : la feuille Excel</li>
<li>value : le texte ? ?crire</li>
<li>fontColor : couleur du texte</li>
<li>fontSize : taille du texte</li>
<li>isBold : si TRUE, le texte est ?crit en gras</li>
<li>isItalic : si TRUE, le texte est ?crit en italic</li>
<li>colSpan : nombre de colonnes ? fusionner (correspond ? la largeur du paragraphe)</li>
<li>rowSpan : nombre de lignes ? fusionner (hauteur du paragraphe)</li>
</ul>
</div>
<p><br/></p>
<p>Exemples :</p>
<pre class="r"><code># Cr?er un classeur et une feuille Excel
wb <- createWorkbook(type="xlsx")
sheet <- createSheet(wb, sheetName = "example1")
 
# Ajouter un paragraphe
xlsx.addHeader(wb, sheet, " Add paragraph", level=2, underline=1)
xlsx.addLineBreak(sheet, 2)
paragraph="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged."
xlsx.addParagraph(wb, sheet, paragraph, fontSize=14, isItalic=TRUE, 
                  fontColor="darkred", colSpan=10, rowSpan=10)

# Enregistrer le classeur Excel dans un fichier
saveWorkbook(wb, "examples_add_paragraph.xlsx")
xlsx.openFile("examples_add_paragraph.xlsx")# view the file</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-excel-add-paragraph.png" alt="Lire et ?crire un fichier Excel avec le logicel R, ajouter un paragraph" /></p>
</div>
<div id="ajouter-un-lien" class="section level2">
<h2>Ajouter un lien</h2>
<p>La fonction <strong>xlsx.addHyperlink()</strong> peut ?tre utilis?e. Un format simplifi? est :</p>
<pre class="r"><code>xlsx.addHyperlink(wb,sheet, address, friendlyName) </code></pre>
<br/>
<div class="block">
<ul>
<li>wb : le classeur Excel</li>
<li>sheet : la feuille Excel</li>
<li>address : l?adresse url</li>
<li>friendlyName : texte indiquant le nom du lien</li>
</ul>
</div>
<p><br/></p>
<p>Exemples :</p>
<pre class="r"><code># Classeur et feuille Excel
wb <- createWorkbook(type="xlsx")
sheet <- createSheet(wb, sheetName = "example1")
 
# Ajouter un lien
#+++++++++++++++++++++++++++++
xlsx.addHeader(wb, sheet, " Add Hyperlink", level=2, underline=1)
xlsx.addLineBreak(sheet, 1)
xlsx.addHyperlink(wb, sheet, "https://www.sthda.com", "Click-me!", fontSize=12)
xlsx.addLineBreak(sheet, 2)

# Enregistrer le classeur dans un fichier
saveWorkbook(wb, "examples_add_hyperlink.xlsx")
xlsx.openFile("examples_add_hyperlink.xlsx")# Voir le fichier</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-excel-add-hyperlink.png" alt="Lire et ?crire un fichier Excel avec le logicel R, ajouter un lien" /></p>
</div>
<div id="ajouter-une-table-de-donnees-de-type-data.frame" class="section level2">
<h2>Ajouter une table de donn?es de type data.frame</h2>
<p>La fonction <strong>xlsx.addTable</strong> peut ?tre utilis?e. Un format simplifi? est :</p>
<pre class="r"><code>xlsx.addTable(wb, sheet, data, col.names=TRUE, row.names=TRUE,
     fontColor="#FFFFFF", fontSize=12, rowFill=c("white", "white"))</code></pre>
<br/>
<div class="block">
<ul>
<li>wb : classeur Excel</li>
<li>sheet : feuille Excel</li>
<li>data : une data.frame</li>
<li>col.names, row.names : une valeur logique indiquant si le nom des colonnes/lignes doit ?tre ?crit dans le fichier. La valeur par d?faut est TRUE</li>
<li>font.color : couleur du texte</li>
<li>font.size : taille du texte</li>
<li>rowFill : un vecteur contenant deux couleurs correspondant aux couleurs des lignes impaires et paires. Valeur par d?faut : c(?white?, ?white?)</li>
</ul>
</div>
<p><br/></p>
<pre class="r"><code># Cr?er un classeur et une feuille Excel
wb <- createWorkbook(type="xlsx")
sheet <- createSheet(wb, sheetName = "example1")

# ajouter la table iris avec les param?tres par d?faut
data(iris)
xlsx.addHeader(wb, sheet, 
     value="Add iris table using default settings")
xlsx.addLineBreak(sheet, 1)
xlsx.addTable(wb, sheet, head(iris))
xlsx.addLineBreak(sheet, 2)
 
# Personnaliser la table
xlsx.addHeader(wb, sheet, value="Customized table")
xlsx.addLineBreak(sheet, 1)
xlsx.addTable(wb, sheet, data= head(iris),
              fontColor="darkblue", fontSize=14,
              rowFill=c("white", "lightblue")
)
xlsx.addLineBreak(sheet, 2)

# Enregistrer le classeur dans un fichier
saveWorkbook(wb, "examples_add_table.xlsx")
xlsx.openFile("examples_add_table.xlsx")# voir le fichier</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-excel-add-table.png" alt="Lire et ?crire un fichier Excel avec le logicel R, ajouter une table" /></p>
</div>
<div id="ajouter-un-graphe" class="section level2">
<h2>Ajouter un graphe</h2>
<p>La fonction <strong>xlsx.addPlot()</strong> peut ?tre utilis?e. Un format simplifi? :</p>
<pre class="r"><code>xlsx.addPlot(wb, sheet, plotFunction,
            width = 480, height = 480, ...)</code></pre>
<br/>
<div class="block">
<ul>
<li>wb : classeur Excel</li>
<li>sheet : Feuille Excel</li>
<li>plotFunction : la fonction R pour cr?er le graphe</li>
<li>width, height : taille et hauteur du graphique</li>
<li>? : d?autres arguments ? passer ? la fonction png()</li>
</ul>
</div>
<p><br/></p>
<p>Exemples :</p>
<pre class="r"><code># Cr?er un classeur et une feuille Excel
wb <- createWorkbook(type="xlsx")
sheet <- createSheet(wb, sheetName = "example1")
 
# Box plot basic
data(ToothGrowth)
xlsx.addHeader(wb, sheet, "Basic box plot")
xlsx.addLineBreak(sheet, 1)
plotFunction<-function(){boxplot(len ~ dose, data = ToothGrowth, col = 1:3)}
xlsx.addPlot(wb, sheet, plotFunction())

# ggplot2
# vous devez installer le package ggplot2
library("ggplot2")
xlsx.addHeader(wb, sheet, "ggplot2")
xlsx.addLineBreak(sheet, 1)
plotFunction<-function(){
  p<-qplot(mpg, wt, data=mtcars)
  print(p)
  }
xlsx.addPlot(wb, sheet, plotFunction())

# Enregistrer le fichier Excel.
saveWorkbook(wb, "examples_add_plot.xlsx")
xlsx.openFile("examples_add_plot.xlsx")# voir le fichier</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-excel-add-basic-plot.png" alt="Lire et ?crire un fichier Excel avec le logicel R, ajouter un graphique" /> <img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-excel-add-ggplot2.png" alt="Lire et ?crire un fichier Excel avec le logicel R, ajouter un graphique" /></p>
</div>
<div id="lire-un-fichier-excel" class="section level2">
<h2>Lire un fichier Excel</h2>
<p>La fonction <strong>xlsx.readFile()</strong> peut ?tre utilis?e. Un format simplifi? est :</p>
<pre class="r"><code>xlsx.readFile(file, sheetIndex = 1, header = TRUE)</code></pre>
<br/>
<div class="block">
<ul>
<li>file : le chemin du fichier ? lire</li>
<li>sheetIndex : le num?ro de la feuille ? lire dans le classeur Excel</li>
<li>header : valeur logique. Si TRUE, la premi?re ligne est prise comme noms des variables</li>
</ul>
</div>
<p><br/></p>
<p>Exemples :</p>
<pre class="r"><code>file <- system.file("tests", "test_import.xlsx", package = "xlsx")
res <- xlsx.readFile(file, 1)  # Lire la pr?mi?re feuille
head(res)</code></pre>
<pre><code>##   Population Income Illiteracy Life.Exp Murder HS.Grad Frost   Area
## 1       3615   3624        2.1    69.05   15.1    41.3    20  50708
## 2        365   6315        1.5    69.31   11.3    66.7   152 566432
## 3       2212   4530        1.8    70.55    7.8    58.1    15 113417
## 4       2110   3378        1.9    70.66   10.1    39.9    65  51945
## 5      21198   5114        1.1    71.71   10.3    62.6    20 156361
## 6       2541   4884        0.7    72.06    6.8    63.9   166 103766</code></pre>
</div>
<div id="ecrire-un-fichier-excel" class="section level2">
<h2>Ecrire un fichier Excel</h2>
<p>La fonction <strong>xlsx.writeFile</strong> peut ?tre utilis?e. Un format simplifi? est :</p>
<pre class="r"><code>xlsx.writeFile(data, file, sheetName = "Sheet1",
  col.names = TRUE, row.names = TRUE, append = FALSE)</code></pre>
<br/>
<div class="block">
<ul>
<li>data : une data.frame ? ?crire dans le classeur</li>
<li>file : chemin du fichier r?sultat</li>
<li>sheetName : texte indiquant le nom de la feuille Excel</li>
<li>col.names, row.names : une valeur logique indiquant si le nom des colonnes/lignes doit ?tre ?crit dans le fichier</li>
<li>append : une valeur logique indiquant si les donn?es doivent ?tre ajout?e dans un fichier d?j? existant.</li>
</ul>
</div>
<p></br></p>
<p>Exemples :</p>
<pre class="r"><code>xlsx.writeFile(USArrests, file="myworkbook.xlsx", 
               sheetName="USA Arrests")
xlsx.openFile("myworkbook.xlsx")# Voir le fichier</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-xlsx-write-excel-files.png" alt="Lire et ?crire un fichier Excel en utilisant le logiciel R et le package xlsx" /></p>
<p>Utiliser l?argument <strong>append = TRUE</strong> pour ajouter plusieurs data.frames dans le m?me classeur Excel :</p>
<pre class="r"><code># Ecrire la pr?miere table dans un nouveau classeur
xlsx.writeFile(USArrests, file="myworkbook.xlsx", 
            sheetName="USA-ARRESTS", append=FALSE)
# Ajouter une deuxi?me table
xlsx.writeFile(mtcars, file="myworkbook.xlsx",
          sheetName="MTCARS", append=TRUE)
# Ajouter une troisi?me table
xlsx.writeFile(Titanic, file="myworkbook.xlsx", 
          sheetName="TITANIC", append=TRUE)
xlsx.openFile("myworkbook.xlsx")# voir le fichier</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-xlsx-write-multiple-data-same-excel-files.png" alt="Lire et ?crire un fichier Excel en utilisant le logiciel R et le package r2excel" /></p>
<p><span class="success">La m?thode ci-dessus est tr?s r?p?titive. Vous pouvez utiliser la fonction <strong>xlsx.writeMultipleData()</strong> pour ajouter plusieurs data sets dans le m?me classeur en une seule ligne de code.</span></p>
<pre class="r"><code>xlsx.writeMultipleData("myworkbook.xlsx", 
          mtcars, Titanic, AirPassengers, state.x77)
xlsx.openFile("myworkbook.xlsx")# view the file</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/r-excel-multiple-object-workbook.png" alt="Lire et ?crire un fichier Excel en utilisant le logiciel R, plusieurs tables dans le m?me classeur Excel" /></p>
<p><span class="success">La fonction <strong>xlsx.writeMultipleData</strong> marche pour les donn?es de types data frames (mtcars), matrices (state.x77), s?ries temporelles (AirPassengers) et tables (Titanic).</span></p>
</div>
<div id="un-rapport-excel-complet-avec-le-logiciel-r" class="section level2">
<h2>Un rapport Excel complet avec le logiciel R</h2>
<p>Le code R suivant peut ?tre utilis? :</p>
<pre class="r"><code># Cr?er un classeur Excel. 
# Les formats .xls et .xlsx peut ?tre utilis?s
filename<-"r2excel-example.xlsx"
wb <- createWorkbook(type="xlsx")
# Cr?er une feuille dans le classeur
sheet <- xlsx::createSheet(wb, sheetName = "example1")

# Ajouter un titre
#+++++++++++++++++++++++++++++++
# Titre et sous-titre de la feuille Excel
xlsx.addHeader(wb, sheet, value="Excel file written with r2excel packages",
            level=1, color="darkblue", underline=2)         
xlsx.addLineBreak(sheet, 2)

# Ajouter un paragraphe : Autheur
author=paste("Author : Alboukadel KASSAMBARA. \n",
             "@:alboukadel.kassambara@gmail.com.",
             "\n Website : http://ww.sthda.com", sep="")
xlsx.addParagraph(wb, sheet,value=author, isItalic=TRUE, colSpan=5, 
                  rowSpan=4, fontColor="darkgray", fontSize=14)
xlsx.addLineBreak(sheet, 3)

# Ajouter une table
#+++++++++++++++++++++++++++++
# ajouter la table iris avec les param?tres par d?faut
data(iris)
xlsx.addHeader(wb, sheet, value="Add iris table using default settings", level=2)
xlsx.addLineBreak(sheet, 1)
xlsx.addTable(wb, sheet, head(iris), startCol=2)
xlsx.addLineBreak(sheet, 2)
 
# Table personnalis?e
xlsx.addHeader(wb, sheet, value="Customized table", level=2)
xlsx.addLineBreak(sheet, 1)
xlsx.addTable(wb, sheet, data= head(iris),
              fontColor="darkblue", fontSize=14,
              rowFill=c("white", "lightblue")
)
xlsx.addLineBreak(sheet, 2)


# Ajouter un paragraphe
#+++++++++++++++++++++++++++++
xlsx.addHeader(wb, sheet, "Add paragraph", level=2)
xlsx.addLineBreak(sheet, 2)
paragraph="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged."
xlsx.addParagraph(wb, sheet, paragraph, fontSize=14, isItalic=TRUE, 
                  fontColor="darkred", backGroundColor="gray")
xlsx.addLineBreak(sheet, 2)

# Ajouter un lien
#+++++++++++++++++++++++++++++
xlsx.addHeader(wb, sheet, " Add Hyperlink", level=2)
xlsx.addLineBreak(sheet, 1)
xlsx.addHyperlink(wb, sheet, "https://www.sthda.com", "Click-me!!", fontSize=12)
xlsx.addLineBreak(sheet, 2)

# Ajouter un box plot
#+++++++++++++++++++++++++++++
data(ToothGrowth)
xlsx.addHeader(wb, sheet, " Add Plot", level=2)
xlsx.addLineBreak(sheet, 1)
plotFunction<-function(){boxplot(len ~ dose, data = ToothGrowth, col = 1:3)}
xlsx.addPlot(wb, sheet, plotFunction())

# Enregistrez le classeur Excel
xlsx::saveWorkbook(wb, filename)
xlsx.openFile(filename) # open file</code></pre>
<iframe src="http://www.slideshare.net/slideshow/embed_code/42944973" width="570" height="510" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>



</div>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning"> Cette analyse a ?t? r?alis?e avec R (ver. 3.1.0). </span></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('h1').addClass('wiki_paragraph1');
    jQuery('h2').addClass('wiki_paragraph2');
    jQuery('h3').addClass('wiki_paragraph3');
    jQuery('h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->

<!-- END HTML -->]]></description>
			<pubDate>Tue, 06 Jan 2015 01:50:05 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[Importer et exporter des données avec R]]></title>
			<link>https://www.sthda.com/french/wiki/importer-et-exporter-des-donnees-avec-r</link>
			<guid>https://www.sthda.com/french/wiki/importer-et-exporter-des-donnees-avec-r</guid>
			<description><![CDATA[Vous trouverez plus bas des articles sur l'importation et l'exportation des donn?es en utilisant le logiciel R]]></description>
			<pubDate>Tue, 06 Jan 2015 01:41:10 +0100</pubDate>
			
		</item>
		
	</channel>
</rss>
