Comment créer un fichier Excel sur Linux en utilisant Mono Develop

Je travaille actuellement sur un projet C # .net (dans VS2010) qui fonctionne avec l’interopérabilité d’Excel. À un moment donné, je vais devoir passer le projet par Mono Develop et sur notre serveur Linux.

J’ai entendu que l’interop Excel ne fonctionne pas dans Mono. Est-ce que je peux créer et manipuler des fichiers Excel avec du code en utilisant Mono?

Merci beaucoup!

EDIT: Idéalement, je voudrais un moyen de le faire GRATUITEMENT tout en étant capable de prendre en charge le formatage. Je n’ai pas vraiment besoin d’un access en lecture, écrivez seulement.

Avez-vous vraiment besoin d’utiliser Excel lui-même? Le problème n’est pas tellement qu’Excel ne fonctionne pas avec Mono, car Excel ne fonctionne pas avec Linux. Vous pourriez être capable de faire quelque chose de piraté avec Wine afin d’exécuter Excel et l’interopérabilité COM associée sous Linux, mais je vous suggérerais probablement de renoncer complètement à Excel si vous allez utiliser Linux. Il existe plusieurs bibliothèques pour manipuler les fichiers .xls et .xlsx de manière plus multi-plateforme: une question StackOverflow entière est consacrée à l’utilisation de fichiers Excel sans utiliser Excel interop.

Maintenant, si vous faites plus que simplement créer des fichiers, par exemple si vous voulez utiliser le moteur de calcul d’Excel, vous devrez probablement utiliser Excel lui-même. Dans ce cas, je vois trois options claires: (a) exécuter Excel (et éventuellement aussi votre application) sous Wine, et j’espère que cela fonctionnera, (b) utiliser Excel pour Mac et exécuter votre serveur avec OS X, ou (c ) utilisez Windows. Je ne sais pas si les options (a) et (b) autoriseront l’interopérabilité correcte de COM, bien que je m’attende à ce que Wine essaie de répliquer tout COM et qu’Office pour Mac remplace l’API COM. La troisième option peut se présenter sous deux formes: vous pouvez utiliser Windows Server pour exécuter votre site Web ou vous pouvez affecter une machine ou une machine virtuelle au moteur de calcul Excel et contacter celle-ci à partir des autres parties du code de votre serveur Web.

J’ai vérifié excelpackage.dll avec MOMA et il n’a signalé aucun avertissement ni erreur. Cela pourrait fonctionner sur mono non testé cependant. C’est aussi la GPL gratuite. http://excelpackage.codeplex.com/