Question

Avant de commencer flamboyante, je vais vous dire que je suis en train de me convaincre que c'est une mauvaise idée.

En fait, je suis en train de créer un site Web avec certaines fonctions comptables de base. Mon ami, un consultant qui ne connaît que Excel, a demandé si cela pourrait être une feuille de calcul Excel au lieu d'une interface web.

Je me suis dit, pourquoi ne pas exceller le meilleur outil dans ce cas? Il a tous les outils d'une application web2.0 a (scripts, l'accès à un db, le formatage de base), et est fait pour la comptabilité. Vous pouvez utiliser essentiellement Excel pour écrire un programme qui va chercher des données à partir d'une base de données SQL, certaines cellules, populates et utiliser des formules pour le reste.

Y at-il un précédent à l'aide d'Excel, comme on utilise le navigateur pour faire une application web2 ajax-y?

Pourquoi est-ce une mauvaise idée?

Mise à jour: il suffit de préciser que je voulais dire cela plus une discussion « rhétorique ». Je ne sais pas pourquoi le reste du message ne précisait pas que ...

Était-ce utile?

La solution

Eh bien, si vous l'avez fait dans Excel, il ne serait pas vraiment une application web. Il serait une application Excel.

pas que ce soit une mauvaise chose cependant. S'il est plus logique de construire l'application dans Excel, puis allez-y.

Les problèmes que vous aurez le faire dans Excel seront les mêmes que les problèmes que vous exécutez dans avec tout ordinateur de bureau ou application web. Par exemple, comment gérez-vous le déploiement de nouvelles versions de l'application? Comment gérez-vous la mise à jour de l'application pour les nouveaux (ou plus) versions d'Excel? etc.

ETA:

Si vous voulez éviter l'bugginess d'Excel VBA et les maux de tête de la gestion d'une application de bureau, vous pouvez regarder dans le API Google Spreadsheets . Vous pouvez l'utiliser pour créer / mettre à jour des feuilles de calcul Google docs à la volée, y compris les formules et beaucoup d'autres bonté de feuille de calcul. L'utilisation d'un hybride d'application Web et Google Spreadsheets peut vous donner le meilleur des deux mondes, en fonction de ce que vous devez faire exactement.

Autres conseils

Après des années de programmation dans Excel VBA, la meilleure réponse que je peux vous donner pour ne pas faire ceci:

Excel-VBA est buggé! Il est probablement le plus rempli app bug que Microsoft a produit. Il est idéal pour certaines tâches, mais le forçant à faire un travail pour lequel il n'a jamais été va conduire à des problèmes.

J'ai quelques feuilles de calcul qui font des choses semblables, (projet de loi n'a jamais voulu les choses), et sans exception, ils sont au bord de l'échec, et ont tendance à tomber en panne avec seulement la moindre provocation.

Bien sûr, vous pouvez le faire, mais le mal de tête est pas la peine.

Excel n'a pas été conçu pour être utilisé de cette façon, il sera douloureux.

Deux meilleures idées pour l'intégration web tableur:

  • Jetez un oeil à Un résolveur , un Excel- programmable tableur compatible avec un serveur web intégré.
  • Utiliser Google Docs tableurs . Il est une API pour interagir avec eux par programme.

Il est pas une mauvaise idée, mais il ne vient avec certaines limites. Si le déploiement est pas un problème pour vous, et vous ne accédez pas besoin « universel » à l'application, votre solution sera probablement vous faire économiser du temps. Une application web serait certainement une approche plus élégante, surtout si vous voulez rendre le logiciel accessible au public.

Le Web est basé sur HTML et intrinsèquement ajouté à des bases de données, CSS et langages côté serveur et javascript (peut-être d'autres). Comme avec la plupart des choses, vous devez utiliser le bon outil pour le travail. Si vous voulez un site Web, vous devez utiliser les outils pour la création d'un site web.

Excel ne vise pas à faire des sites Web, ce qui oblige à le faire conduira probablement à plus de frustration que de bonheur.

Eh bien, vous allez courir sur le côté serveur, vous auriez probablement rencontrez des problèmes de licence et de performance.

Si vous livrez .xls au client, alors vous aurez besoin de tous vos clients d'avoir Excel ou quelque chose compatible. Mais vous perdez aussi le contrôle sur votre « site » - quel est le point de visiter si vous avez tout ce dont vous avez besoin sur place

Ainsi, les instructions SQL seraient sur le client? C'est rarement une bonne idée.

Il est une mauvaise idée pour la même raison que l'écriture d'un éditeur graphique avec MS Access est mauvais, ou le codage d'un MMORPG en utilisant Powerpoint est mauvaise:)

Je voudrais aussi dire qu'une fois que vous arrêtez d'utiliser un navigateur en tant que client, il cesse d'être une « application web » -. Vous parlez vraiment à peu près une feuille Excel qui va chercher ses données via HTTP

+1 à tout le monde qui a dit « une application Excel n'est pas une application web. »

MAIS ... Si vous voulez utiliser la métaphore du tableur pour les calculs côté serveur pour une application Web, ou si vous souhaitez accéder à la bibliothèque de fonctions financières qui viennent avec Excel à partir du code côté serveur, vous pouvez utiliser < a href = "http://msdn.microsoft.com/en-us/library/ms546696.aspx" rel = "nofollow noreferrer"> services Excel . Il est exposé via SOAP, interopérable, appelable de toute plate-forme SOAP capable.

Il est capable serveur. Il ne charge pas réellement Excel sur le serveur, mais une exécution non-GUI des fonctions.

Je pense que l'utilisation d'Excel comme Browser est mauvaise idée, mais je pense une meilleure idée est d'utiliser le contrôle Excel dans Desktop App.

De cette façon, vous pouvez contrôler le sql et les connexions. vous pouvez enregistrer aussi souvent que vous le souhaitez données. vous pouvez également mettre en œuvre un mécanisme de mise à jour. App serait plus sûr et plus difficile à pirater.

Je pense que Excel se bloque lorsque vous essayez de vous connecter à une ressource externe et de cette façon vous tout contrôler.

Avez-vous commencé en obtenant les besoins des utilisateurs pour cette application? Il ne semble pas comme ils voulaient un site Web pour commencer. On dirait qu'ils voulaient une feuille de calcul Excel avec des macros.

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