2010-05-22 27 views
0

J'ai un programme qui génère actuellement Excel via des fichiers SpreadsheetML. Je construis ces en utilisant des flux. Ceci est très inefficace pour Excel; les fichiers peuvent être 5 à 6 fois plus grands que les autres formats binaires Excel.Comment savoir si les assemblys d'interopérabilité primaires Office sont installés sur un système?

Je voudrais sortir un format excel binaire tel que .xls ou .xlsx, mais je ne veux pas que l'installation du programme dépende d'Office. Certains utilisateurs peuvent l'avoir installé, d'autres non. Comment puis-je gérer cela avec élégance? Est-il possible de ne pas avoir un assembly en tant que dépendance mais en fonction de l'utilisateur qui active la sortie binaire utilise toujours l'assembly?

Edit:

En examinant quelques vieilles questions, je réalisais que je devrais ai demandé comment vérifier si le Bureau PIA sont sur le système, les utiliser si elles sont disponibles, mais gracieusement gérer le cas où le Yare pas et utilisez SpreadsheetML.

+0

Quel est le point de générer un fichier .xls lorsque l'utilisateur n'a aucun moyen de le charger ? –

Répondre

1

Si votre plate-forme de programmation de base est Java, vous pouvez utiliser POI. Si c'est. NET, vous pouvez utiliser NPOI (un port de POI, activement en cours de développement).

La plupart des fonctionnalités sont prises en charge par ces bibliothèques. Vous n'avez pas besoin d'installer Office, il suffit d'inclure les bibliothèques correspondantes dans votre programme.

rAm.

0

Avez-vous besoin d'un fichier binaire spécifique par rapport à un autre format qu'Excel lira correctement? Est-ce que le vieux truc de sortir un tableau HTML avec l'extension .xls fonctionnera pour votre application? Excel va rendre la mise en forme correctement et Je pense que vous pouvez même intégrer des formules dans les cellules du tableau et ils seront rendus dans Excel aussi ...

+0

La question poser spécifiquement sur l'utilisation d'un format binaire pour obtenir une taille de fichier plus compact. Bien que la représentation HTML puisse être plus compacte que le format Xml de bureau, il s'agit toujours de texte et de grandes balises de disquette. –