<p>Vous pouvez utiliser une bibliothèque appelée ExcelLibrary. C’est une bibliothèque gratuite et open source publiée sur Google Code :</p>
<p><a href="https://code.google.com/archive/p/excellibrary/">ExcelLibrary</a></p>
<p>Cela semble être un portage du PHP ExcelWriter que vous avez mentionné ci-dessus. Elle n’écrira pas encore au nouveau format .xlsx, mais ils travaillent à l’ajout de cette fonctionnalité.</p>
<p>C’est très simple, petit et facile à utiliser. De plus, elle dispose d’un DataSetHelper qui vous permet d’utiliser des DataSets et DataTables pour travailler facilement avec les données Excel.</p>
<p>ExcelLibrary semble toujours ne fonctionner que pour l’ancien format Excel (fichiers .xls), mais pourrait ajouter la prise en charge des formats plus récents 2007/2010 à l’avenir.</p>
<p>Vous pouvez également utiliser <a href="https://github.com/JanKallman/EPPlus">EPPlus</a>, qui ne fonctionne que pour les fichiers au format Excel 2007/2010 (fichiers .xlsx). Il y a aussi <a href="https://github.com/tonyqus/npoi">NPOI</a> qui fonctionne avec les deux.</p>
<p>Il existe quelques bogues connus avec chaque bibliothèque, comme indiqué dans les commentaires. Dans l’ensemble, EPPlus semble être le meilleur choix au fil du temps. Il semble être plus activement mis à jour et documenté également.</p>
<p>De plus, comme l’a noté <span class="mention">@ArtiomTsarionov</span> ci-dessous, EPPlus prend en charge les tableaux croisés dynamiques et ExcelLibrary pourrait avoir un certain support (<a href="https://code.google.com/archive/p/excellibrary/issues/98">Pivot table issue in ExcelLibrary</a>)</p>
<p>Voici quelques liens pour référence rapide :</p>
<p><a href="https://code.google.com/archive/p/excellibrary/">ExcelLibrary</a> - <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser GPL</a></p>
<p><a href="https://github.com/JanKallman/EPPlus">EPPlus</a> - <a href="https://github.com/JanKallman/EPPlus#license">GNU (LGPL) - Plus maintenu</a></p>
<p><a href="https://www.epplussoftware.com/">EPPlus 5</a> - <a href="https://www.epplussoftware.com/en/LicenseOverview">Polyform Noncommercial - A partir de mai 2020</a></p>
<p><a href="https://github.com/tonyqus/npoi">NPOI</a> - <a href="https://github.com/tonyqus/npoi/blob/master/LICENSE">Apache License</a></p>
<p>Voici un exemple de code pour ExcelLibrary :</p>
<p>Voici un exemple qui prend des données d’une base de données et crée un classeur à partir de celles-ci. Notez que le code ExcelLibrary est la seule ligne en bas :</p>
<pre><code class="lang-auto">//C
(Réponse tronquée)
</code></pre>