Comment puis-je par programmation à l'interface d'une feuille de calcul Excel?

J'ai une demande pour un contrat de travail d'une organisation qui utilise Excel comme base de données et veut faire un peu de travail sur les données Excel via une base de données réelle. (Ouais, je sais, jamais l'esprit...)

Le client dispose d'une feuille Excel qu'ils utilisent en interne pour garder la trace de certains programmes gouvernementaux. Les données de cette feuille Excel utilisé pour être importés manuellement dans une base de données SQL via CSV comme format intermédiaire et mis à disposition via une petite application web. Des changements dans la feuille de calcul ou la db a été fait manuellement (par des personnes différentes) et a dû être synchronisées manuellement.

La spécification de nouvelles fonctionnalités comprend:

  • télécharger le fichier Excel dans la web app
  • apporter des modifications mineures via l'application web (ce bit est, bien sûr, un no-brainer)
  • parfois exporter les données dans Excel

La feuille de calcul (en fait, c'est un couple d'entre eux dans un classeur) met en œuvre certaines recommandations nécessaires pour interagir avec d'autres institutions et, par conséquent, doit rester le même structurellement avant et après l'importation. Il contient beaucoup de mise en forme, les colonnes masquées et les boutons de tri ainsi que d'un lot de données de liens entre les cellules dans les différentes fiches.

Je ne veux pas reproduire la feuille de calcul à partir de zéro pour fournir de l'exportation, je ne veux extraire manuellement les colonnes appropriées en CSV avant de faire l'importation. Je suis plutôt à la recherche d'un moyen de charger le Excel, "requête" certains champs, les écrire à la DB et plus tard, de charger les données de la DB et de manipuler le contenu de la bonne cellules.

Est-il un moyen de par programmation d'interface avec une feuille de calcul existante et seulement de lire ou de modifier les bits que vous avez besoin?

Excel peut se connecter directement à une base de données. Quelle est la raison de vouloir le faire sur une page web? Pour profiter de cette INTERFACE? Pour le rendre plus facile de partager le fichier Excel?

OriginalL'auteur Hanno Fietz | 2008-10-25