2010-08-19 6 views
1

Je cherchais le passé tandis que pour une application qui portera un classeur Excel à C# code le plus proche, j'ai trouvé était spreadsheetgear mais ce n'est pas très utile, je suis lentement venu à la conclusion que je devra écrire le code moi-même. Quelqu'un connaît-il un outil de ligne de commande freeware ou un projet opensource qui permettra d'atteindre cet objectif? La raison pour laquelle je souhaite faire ceci est simple, Excel \ VBA est terriblement lent, même si certains calculs peuvent prendre des jours, mais en raison de son utilisation simpliste, Excel est un outil standard pour la construction de modèles. Nous avons un port Java qui est nettement plus rapide, mais nous mettons constamment à jour le modèle et, en tant que tel, chaque changement mineur doit être vérifié et revérifié, ce qui prend du temps.Port Excel tableur à C#

Mon but est ceci, avoir un outil qui prendra un fichier Excel en entrée pour analyser toutes les formules et les valeurs et sortir le code équivalent C#, les quelques sous-programmes seront portés manuellement. Une conception graphique sera ensuite créée manuellement qui entourera ce code généré. J'ai la structure générale du code dans mon esprit, comment j'y arriverai ainsi que les bibliothèques que je vais utiliser pour lire les fichiers Excel. Mais comme je suis certain que ce n'est pas un problème original, et que je ne pense pas que la solution soit trop difficile, je suppose qu'il y a un projet public?

Répondre

1

Si vous voulez lire des fichiers Excel à partir de C#, le VSTO Developer Center peut être un bon début.

En guise de remarque, je pense que si vous essayez de porter automatiquement des applications Excel générales sur C#, vous avez un assez gros projet. Pour un petit sous-ensemble d'applications où les feuilles Excel suivent un modèle similaire, il peut être raisonnable de le faire. Mais pour vraiment bénéficier du portage des applications Excel vers C#, vous devrez les réécrire pour utiliser les structures de données appropriées en C#.