Comment générer un fichier Excel depuis C# ? (conseils pratiques)
Il existe différentes méthodes pour créer un fichier Excel avec c# , il vous faudra choisir la méthode qui correspond au mieux à vos besoins, selon que votre fichier nécessite d'être compatible avec les versions antérieures à Excel 2003 ou que votre programme requis la présence du logiciel Excel sur l'ordinateur. Nous verrons comment générer uniquement un fichier .xml ou .xls sous c#.
Générer un fichier .xls
Mêce si celui-ci est le plus utilisé, il n'est autre que le format texte d'Excel, permettant de stocker exclusivement des données, contrairement aux fichiers .xls ou .xml, qui permettent d'utiliser pleinement toutes les fonctionnalités offertes par Excel. Le fichier .xls (format natif d'Excel) offre l'avantage d'être compatible avec les versions antérieures à Excel 2003. Si votre fichier contient uniquement des données, vous pouvez utiliser les fonctionnalités d'ADO.NET directement depuis votre application. ADO.NET permet l'accès à plusieurs sources de données (SQL, Oracle, Excel, etc.) avec un code unique, l'inconvéniant est qu'il vous sera impossible d'ajouter autre chose que des données. Dans le cas contraire, si votre fichier contient : des mises en page (couleurs, polices), des images, des graphiques ou des macros. Vous devrez alors utiliser l'assembly "microsoft.office.interop.excel" qui va piloter le logiciel Excel (qui devra être préalablement installé), pour générer le fichier (comme si vous utilisez vous-même Excel, pour générer le fichier. On peut cependant choisir de ne pas afficher l'interface Excel. Piloter Excel avec interop, offre l'avantage d'être pleinement compatible avec les fonctionnalités avancées qu'offre Excel, en contrepartie des performances et de l'obligation d'avoir Excel installé sur l'ordinateur éxécutant le programme. Vous aurez accès à plusieurs assemblies, chacune représentant une version d'Excel, il vous est conseillé d'utiliser la version 9.0 correspondant à la version d'office XP, offrant l'avantage d'être pleinement compatible avec ce format.
Générer un fichier .xml
Le fichier .xml (format libre) offre l'avantage d'être lisible par tous les logiciels, car il est le format de prédilection lorsque l'on programme en ".net" (de plus en plus de données sont sauvegardées sous ce format, car il permet de bien structurer les données) Si vous souhaitez enregistrer ou lire un fichier Excel en c#, il faudra cependant comprendre comment celui-ci a été structuré, afin de le rendre pleinement compatible avec Excel. Heureusement, il existe une librairie qui vous évitera cette tâche fastidieuse qui est ExcelXmlWriter. développée par Carlos Aguilar Mares, celle-ci est disponible à cette adresse : Carlosag.net. Pour plus d'informations, n'hésitez pas à effectuer une recherche sur MSDN (Microsoft Developer Network) vous y trouverez l'ensemble des ressources techniques et des services dont vous aurez besoin pour développer sous C#