Question

J'essaie d'écrire un petit outil Web qui prend un fichier Excel, analyse le contenu, puis compare les données avec un autre ensemble de données. Cela peut-il être facilement fait en JavaScript? Y at-il une bibliothèque JavaScript qui fait cela?

Était-ce utile?

La solution

Comment chargeriez-vous un fichier en JavaScript?

De plus, Excel est un format propriétaire assez complexe pour que les bibliothèques côté serveur ayant des années de développement (telles que POI Apache ) n'ont pas encore réussi à procéder au reverse engineering à 100% de ces formats Microsoft.

Donc, je pense que la réponse est que vous ne pouvez pas.

Mise à jour: c'est du code JavaScript pur.

Mise à jour 2: Il est maintenant possible de charger des fichiers en JavaScript: https://developer.mozilla.org/en-US/docs/DOM/FileReader

Autres conseils

Au cours des quatre dernières années, de nombreux progrès ont été réalisés. L'API de fichier HTML5 a été adoptée par les principaux éditeurs de navigateurs et les améliorations des performances permettent en quelque sorte d'analyser des fichiers Excel (xls et xlsx) dans le navigateur.

Mes entrées dans cet espace:

Les deux sont des analyseurs syntaxiques JS purs

Pour tout faire dans js, vous devez également utiliser ActiveX et probablement les composants Web de bureau. Juste une suggestion, mais vous ne voulez probablement pas aller dans cette voie; ce sera inefficace et IE / Win seulement. Vous serez mieux loti avec une solution basée sur un serveur.

Vous devrez utiliser ActiveX (voir Ecoles du W3C sur l'utilisation d'AJAX) et enregistrer le fichier dans les Dataconnectors des ordinateurs hôtes (uniquement l'ordinateur hébergeant le fichier). Contrairement à ce qui a été mentionné précédemment, cette méthode n’est pas dépendante de la plate-forme Microsoft (du moins pour le client) et il n’est pas nécessaire que les composants Office soient installés.

Cela peut être fait pour la plupart des fichiers de données enregistrés dans Windows, y compris les MDB, et vous permet de contrôler autant que vous le souhaitez, car vous pouvez attribuer différents comptes Windows à des fins différentes.

Comme je l'ai déjà dit, tout cela concerne les serveurs et n'a aucun impact sur le client, à l'exception peut-être de la récupération des informations d'identification, des actions et de tout cela.

Cette méthode utilise JavaScript, SQL (non, pas même MSSQL, uniquement le standard SQL) et nécessite uniquement que l’ordinateur hôte exécute TOUTE plate-forme Microsoft NT.

Les connecteurs de données Windows fournissent une interface généralisée pour divers composants de données, comme le fait DirectX pour les cartes vidéo et autres périphériques. Vous pouvez également l’utiliser pour lier une MDB (Microsoft Access) à un serveur MySQL et alimenter les données en direct, ce qui, à mon avis, est encore plus simple que d’utiliser des feuilles de calcul XLS ... surtout que vous pouvez importer XLS dans MDB.

Avez-vous vraiment besoin d’un fichier Excel? Pourquoi ne pas utiliser Excel pour exporter les données au format CSV ou XML et les charger?

Le format de fichier Excel est très spécifique à la mise en œuvre d'Excel. Si vous avez juste besoin des données, utilisez un format de fichier contenant uniquement les données.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top