Comment combiner plusieurs files Excel dans un classur Excel unique avec plusieurs feuilles?

J'ai besoin de développer un service (WCF ou Java) qui peut prendre plusieurs files Excel en une seule feuille et les combiner dans un classur Excel unique avec plusieurs feuilles. Les files Excel sont effectivement exportés à partir de rapports de cristaux en tant que files individuels. Voici quelques-unes des exigences du service:

1) Devrait conserver tout le formatting, y compris les images, la couleur, la police, etc. 2) Autorise l'insertion de macros personnalisées dans le file cible. Les macros doivent être exécutées uniquement du côté client lorsqu'elles ouvrent le file.

J'aimerais savoir quelles technologies / bibliothèques sont les mieux adaptées aux fonctionnalités ci-dessus. Devrais-je développer le service dans WCF + VSTO ou en Java en utilisant des bibliothèques comme Apache POI, JXLS etc.?

Je ne peux évidemment pas concevoir tout cela pour vous, mais je peux certainement vous suggérer de connaître l'API Excel, car je suis sûr que vous devrez l'utiliser pour réaliser ce que vous essayez.

Ces jours-ci, Microsoft le propose sous Visual Studio Tools for Office . Bien que le lien MSDN précédent vous aide à démarrer, vous pouvez également acheter ce livre .

Pour autant que je sache, Excel est la seule option si vous voulez manipuler le code VBA.

SpreadsheetGear for .NET, Actuate e.Spreadsheet pour Java et divers autres outils vous permettront de combiner plusieurs classurs individuels dans un classur unique avec des niveaux de performances et de fidélité variables, mais je suis tout à fait sûr qu'aucun d'eux n'a de API pour append VBA Le code (SpreadsheetGear et certains d'entre eux lisent et écrivent du code VBA, mais ne vous permettent pas d'append un code VBA).

Avertissement: je possède SpreadsheetGear LLC

Utilisez les fonctionnalités Automation (COM / ActiveX) d'Excel.

Vous pouvez le faire via Visual Basic ou C ++ ou toute autre langue (par exemple MATLAB ou JSDB ) qui possède un support COM / ActiveX décent.

Je n'ai jamais pu find les docs pour le model d'object Excel, mais voici un exemple sur MSDN .