2009-11-25 3 views
3

Je trouve tout à fait unbelieavble que l'API Interop est un tel gâchisExcelDNA/Managed XLL/Excel Interop

Beaucoup de méthodes ont aucun commentaire sur et semble avoir été fait très mal

Quelqu'un at-il d'autre expérimenté le même et si oui quelle bibliothèque utilisez-vous pour contrôler Exel de C#?

Répondre

4

Le problème pratique évident avec la technologie VSTO/COM Interop est le surcoût encouru lors de la transition entre la feuille de calcul et le code managé. (Et si vous essayez de parler à Excel sans l'aide de VSTO, arrêtez de le faire et sauvez-vous d'énormes maux de tête). Je pensais que VSTO faisait un très bon travail de fournir un analogue proche du modèle d'objet Excel dans l'environnement géré - certainement je n'ai pas eu besoin de passer beaucoup de temps à essayer de comprendre beaucoup plus sur .NET Interop. Pour les activités d'automatisation à plus long terme, les frais généraux ne sont pas vraiment un problème, des préoccupations similaires à l'automatisation VBA s'appliquent: réduire les appels sur l'interface autant que possible pour obtenir les meilleures performances.

Pour un travail de type feuille de calcul plus petit et plus rapide (le genre de chose dans lequel nous pourrions écrire un langage XLL, par exemple), cette surcharge peut être un tueur. ExcelDNA semble être un excellent moyen de fournir du code managé via le modèle XLL - et le prix est correct.

+1

J'utilise ExcelDNA pour un mois maintenant pour relier le code C# avec des modèles Excel (anciennement effectuée uniquement dans VBA/Excel, mais il est devenu trop compliqué). Il a fait tout ce que j'ai besoin de jusqu'à présent. Cependant, soyez conscient de la documentation limitée jusqu'à présent (vous ne pouvez pas vous attendre à ce que tout vous soit donné!) Et que cela fonctionne uniquement sur les systèmes 32 bits jusqu'à présent. –

+3

La dernière version d'Excel-DNA (version 0.29, publiée le 28 mai 2011) prend également en charge la version 64 bits d'Excel 2010. – Govert

0

est un composant de tableur compatible Excel pour .NET. Il ne vous permettra pas de contrôler Excel, mais il vous donnera un moteur de calcul compatible Excel pour ASP.NET/WinForms/etc ... qui peut créer, lire, modifier, afficher, éditer, mettre en forme, calculer, imprimer et écrire des classeurs et des graphiques Excel à partir de .NET. Étant donné que SpreadsheetGear est un code géré 100% sûr, il n'y a pas de pénalité de performance par appel comme avec Excel. L'API SpreadsheetGear est très similaire à l'API d'Excel - à l'exception du fait que de nombreuses API sont plus fortement typées et donc plus faciles à utiliser à partir de C# que de l'API d'Excel.

Vous pouvez voir une liste des fonctionnalités here, reporting ASP.NET direct/cartographie/tableau de bord/échantillons de calcul pour VB et C# here et télécharger l'essai gratuit here.

Disclaimer: Je possède SpreadsheetGear LLC