2010-09-09 21 views
2

Je suis à la recherche de commentaires, de solutions alternatives et de recommandations.Existe-t-il une analyse préexistante utilisant C# avec Excel Interops pour modéliser Excel comme jXLS?

Contexte: Nous avons actuellement une application CRUD construite sur Websphere en utilisant le cadre struts. Nous générons des documents Excel en utilisant une application C# autonome qui est liée à l'application Web à l'aide d'un contrôle ActiveX. Nous passons XML qui contient des éléments pour chaque document. Sous chaque document, nous avons des espaces réservés qui contiennent un nom et une valeur. L'application de génération de document prend le nom (soit une référence de cellule ou une plage nommée) et une copie du modèle à partir d'un serveur de fichiers. Il ajoute ensuite les données à tous les emplacements spécifiés dans le document et enregistre le document dans le dossier «Mes documents» des utilisateurs. Il tente ensuite de télécharger les documents sur Documentum.

Problème actuel: L'un des modèles est devenu de très grandes tailles. Pour la plupart, cela est dû à la quantité de données qui doit être affichée. Nous répartissons l'information en groupes. Chacun de ces groupes doit être capable d'afficher des informations jusqu'à 20 pièces. Certains de ces onglets doivent également afficher jusqu'à 100 sous-éléments pour les pièces. En raison de la nature actuelle du cadre de génération de documents maison, il n'est pas possible de générer dynamiquement les différentes sections avec un nombre variable d'éléments. Cela a récemment commencé à causer des problèmes avec la maintenance du modèle. Si nous devons apporter des modifications à la mise en forme, il doit être répliqué non seulement sur tous les onglets, mais éventuellement sur chaque occurrence de chaque onglet.

J'ai commencé à regarder jXLS et ses capacités de création de modèles, mais étant donné qu'il est basé sur Java, il sera compliqué de l'intégrer à l'application C#. Les autres alternatives consisteraient à intégrer des fonctionnalités de type jXLS dans notre infrastructure de génération, à intégrer une bibliothèque tierce dans l'infrastructure ou à générer des documents sur le serveur d'applications. Je préférerais ne pas réinventer la roue, et j'aimerais réutiliser une bibliothèque de quelque part.

Je voudrais également ne pas affecter le flux de travail existant autant que possible. Donc, l'ordre de solutions préféré en ce moment ressemble à ceci.

1) utilisent une bibliothèque existante pour
2 .NET) Appelez la bibliothèque jXLS du cadre DocumentGeneration.
3) Construire dans les capacités de matriçage au cadre Génération
4) Utilisez jXLS sur le serveur d'applications (En raison de la façon dont nous avons le téléchargement de processus Documentum)

Quelles recommandations avez-vous pour cela?

Répondre

2

Je ne sais pas à quel point cela vous aidera, mais j'ai utilisé NPOI dans le passé pour générer des documents XLS et il est assez facile de travailler avec. NPOI est un port .NET du POI Java, POI est utilisé par jXLS en interne.

Je ne suis pas sûr si sa fonctionnalité répondra à vos besoins, ou du moins sera un point de départ.

0

J'ai utilisé le composant Syncfusion's XLSIO pour un excellent modèle sur le modèle de JXLS. C'est .net et fonctionne plutôt bien, mais c'est un produit commercial et la licence devient chère si vous avez beaucoup de développeurs sur le projet.

Si vous trouvez un port open source de JXLS, partagez!