2010-05-20 11 views
1

J'ai un ensemble de fichiers Excel complexes (avec des figures) que je veux afficher dans un navigateur Web. J'ai donc besoin de les convertir en page HTML en premier. Comme les fichiers Excel sont très complexes, je ne peux pas les analyser et générer un tableau HTML avec des balises HTML. La solution manuelle actuelle qui fonctionne bien est lorsque j'utilise un logiciel Microsoft Excel pour enregistrer la feuille de calcul sous forme de page HTML. Je veux automatiser cette tâche d'une certaine manière puisque je veux le faire de façon progressive à travers Java. Est-ce leur solution existante ou un moyen de le faire? Merci.Convertir par programme un fichier Excel complexe en format HTML

EDIT - J'ai été capable de créer une macro mais je n'ai pas compris comment exécuter une macro sur un fichier Excel à partir d'un programme Java. Est-ce que quelqu'un le sait?

+0

Est-ce que c'est xls ou xlsx? – BalusC

+0

Les fichiers sont pour la plupart au format XLS ... mais ce serait évidemment mieux si cela fonctionne pour les deux formats. –

+0

Juste une question: Est-il possible pour vous de servir le fichier Excel lui-même? Certains "anciens" navigateurs (lire par exemple) ont des plugins pour l'afficher. – OscarRyz

Répondre

0

J'ai fini par utiliser l'API Scribd. J'ai téléchargé le document sur leur serveur via leur API en temps réel et j'ai collé un iframe avec un lien qui est retourné par Scribd.

1

Si Open Office fait un bon travail de l'exportation, vous pouvez jeter un oeil à la source pour voir comment il le fait. OO est une combinaison de Java et C++ Je crois que vous pourriez avoir de la chance et trouver une solution Java. Sinon, je voudrais essayer d'utiliser Excel lui-même pour faire l'exportation et trouver un moyen de l'appeler par programmation. Si vous suivez ce chemin, vous feriez mieux d'utiliser une pile Microsoft (C# serait le plus similaire à Java) car je m'attendais à avoir toutes les fonctions dont vous avez besoin déjà définies.

+0

J'ai pu créer une macro pour cela, mais je n'ai pas compris comment exécuter une macro sur un fichier Excel à partir d'un programme Java. Quelqu'un sait? –

1

Vous pouvez regarder dans POI:

http://poi.apache.org/

+0

Bonne suggestion mais malheureusement, il n'y a aucun bon exemple n'importe où sur Internet, tel qu'un court tutoriel, ou aucune documentation officielle. – djangofan

1

Je pense que le mieux est d'appeler Excel de Java en utilisant JACOB

Création d'appels COM directs (qui est ce que vous allez faire de JACOB) est un peu difficile, mais vous l'aurez compris. Je ne peux pas imaginer que la macro Excel VBA est horriblement compliquée. Jetez un oeil à l'exemple de code (Utilisation et documentation) dans le lien JACOB pour savoir à quoi cela ressemblera.

Une autre chose: N'oubliez pas d'effacer explicitement les références. JACOB publiera des poignées COM lorsque les objets sont collectés, mais si vous effectuez un travail de haute performance, vous voudrez fermer ces connexions le plus rapidement possible. Nous écrivons généralement tout notre code COM dans une série d'instructions try/finally - le code est compliqué, mais robuste.

0

Essayez d'utiliser hypernumbers. (Disclaimer, je suis le PDG)

Questions connexes