Avant de commencer à flamer, je vais vous dire que j'essaie de me convaincre que c'est une mauvaise idée. P>
Fondamentalement, j'essaie de créer un site Web avec certaines fonctions de base de la comptabilité. Mon ami, un consultant qui sait uniquement Excel, a demandé si cela pourrait être une feuille de calcul Excel au lieu d'une interface Web. P>
Je me suis retrouvé penser, pourquoi Excel n'est-il pas le meilleur outil dans ce cas? Il dispose de tous les outils Une application Web2.0 (script, accès à une DB, formatage de base) et est effectué pour la comptabilité. Vous pouvez essentiellement utiliser Excel pour écrire un programme qui récupère des données à partir d'une base de données SQL, remplit certaines cellules et utilisez des formules pour le reste. P>
existe-t-il précédent pour utiliser Excel comme on utiliserait le navigateur pour créer une application Ajax-y Web2? P>
Pourquoi est-ce une mauvaise idée? P>
Mise à jour: juste pour clarifier, je voulais dire que c'était plus une discussion "rhétorique". Je ne sais pas pourquoi le reste du message n'a pas clarifié que ... p>
11 Réponses :
Le Web est intrinsèquement basé sur HTML et ajouté à avec des bases de données, CSS et Langues côté serveur et JavaScript (éventuellement d'autres). Comme pour la plupart des choses, vous devez utiliser le bon outil pour le travail. Si vous souhaitez un site Web, vous devez utiliser les outils de création d'un site Web. P>
Excel n'est pas censé faire des sites Web, le forçant à le faire, cela conduira probablement à une plus grande frustration que de bonheur. p>
Mon interprétation du poste était qu'il envisage d'une application côté client basée sur Excel comme alternative à un site Web.
Le bon outil pour le travail (application comptable) dans ce cas pourrait être Excel. Je conviens que d'utiliser Excel est un orthodoxe, mais vous ne faites pas de cas ici. Le site Web est un moyen d'atteindre une fin. Pourquoi Excel n'est-il pas un moyen approprié à cette fin?
Je viens de relire le post et j'ai mal interprété sa question. Je pensais que son intention était de créer un site Web, pas un outil côté client. J'aimerais pouvoir voquer mon poteau. :(
Ce n'est pas une mauvaise idée, mais cela vient avec certaines limitations. Si le déploiement n'est pas un problème pour vous et que vous n'avez pas besoin d'un accès "universel" à l'application, votre solution vous sauvera probablement un peu de temps. Une application Web serait certainement une approche plus élégante, en particulier si vous souhaitez rendre le logiciel disponible publiquement. P>
C'est une mauvaise idée pour la même raison que la rédaction d'un éditeur graphique avec MS Access est mauvaise, ou codage d'un MMORPG à l'aide de PowerPoint est mauvais :) P>
Je dirais également qu'une fois que vous avez cessé d'utiliser un navigateur en tant que client, il cesse d'être une "application Web" - vous parlez vraiment de une feuille Excel qui récupère ses données via http. p>
Eh bien, vous allez l'exécuter sur le côté serveur, vous rencontreriez probablement des problèmes de licence et de performance. p>
Si vous fournissez .xls au client, vous auriez besoin de tous vos clients d'avoir Excel ou quelque chose de compatible. Mais vous perdez également le contrôle de votre "site" - quel est le point de visiter si vous avez tout ce dont vous avez besoin localement? P>
Mais vous perdez également le contrôle de votre "site" - Quel est le point de visiter si vous avez tout ce dont vous avez besoin localement? Je me fiche des impressions, je me soucie de fournir des fonctionnalités. De plus, vous aurez peut-être maladies: les données seraient chargées à la volée à partir d'une sorte de SQL Server, comme une application Ajax.
Eh bien, si vous l'avez fait dans Excel, il ne serait pas vraiment une application Web. Ce serait une application Excel. P>
Pas que c'est une mauvaise chose cependant. S'il est plus logique de construire l'application dans Excel, alors allez-y. P>
Les problèmes que vous aurez dans l'Excel seront les mêmes que les problèmes que vous rencontrez avec n'importe quel application Web et 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 des versions nouvelles (ou plus anciennes) d'Excel? c. p>
ETA: p>
Si vous souhaitez éviter le Bugginy of Excel VBA et les maux de tête de la gestion d'une application de bureau, vous voudrez peut-être examiner le API sur les tableurs Google . Vous pouvez l'utiliser pour créer / mettre à jour les feuilles de calcul Google Docs à la volée, y compris les formules et beaucoup d'autres fêtes de tableur. L'utilisation d'un hybride d'application Web et de tableurs Google pourrait vous donner le meilleur des deux mondes, en fonction de ce que vous devez faire exactement. P>
Exactement. Je pense que c'est la vraie question que l'OP doit répondre: a-t-il besoin d'une application Excel, ou d'une application Web?
Vous avez raison. J'ai besoin de résoudre un problème pour un nombre limité de personnes, qui possèdent de petites entreprises de taille moyenne. C'est la cible. La question est de savoir pourquoi est-elle excité un mauvais moyen à cette fin?
Pourquoi vraiment? Est-ce réellement? Vous avez encadré la question comme «Je dois faire une application Web. Est-il mauvais de le faire dans Excel? ", Au lieu de" j'ai besoin de faire une application Excel ". Nous pourrions (je ne pouvais pas, réellement) en discuter.
Après des années de programmation dans Excel-VBA, la meilleure réponse que je puisse vous donner pour ne pas le faire: p>
Excel-VBA est buggy! C'est probablement l'application la plus remplie de bogues que Microsoft a produit. C'est génial pour certaines tâches, mais le forçant à faire un travail pour lequel il n'a jamais été destiné entraînera des problèmes. P>
J'ai quelques feuilles de calcul qui font des choses similaires (les choses facturées n'ont jamais voulu que, sans exception, ils se trouvent sur le point de défaillance et ont tendance à se bloquer avec seulement la moindre provocation. P>
Bien sûr, vous pouvez le faire, mais le mal de tête n'en vaut pas la peine. P>
La question est la suivante: est le travail que Chris veut ne pas être destiné à Excel?
C'est maintenant 2014. Diriez-vous qu'avec la dernière version, la qualité s'est améliorée ou non?
@Emmanuel, je dirais qu'il y a eu peu d'amélioration. Je dois encore maintenir et mettre à jour certains grands projets VBA, et il reste plus de problème qu'on vaut la peine. VBA est idéal pour les tâches petites à moyennes, mais il a des limites définies.
Excel n'était pas destiné à être utilisé de cette façon, il sera donc douloureux. P>
Deux idées meilleures pour l'intégration de la feuille de calcul Web: P>
Ainsi, les déclarations SQL seraient sur le client? C'est rarement une bonne idée. P>
Avez-vous commencé par obtenir des exigences utilisateur pour cette application? Cela ne sonne pas comme si elles voulaient qu'un site Web commence. On dirait qu'ils voulaient une feuille de calcul Excel avec des macros. p>
+1 à tous ceux qui ont déclaré "une application Excel n'est pas une application Web". p>
Mais ... si vous souhaitez utiliser la métaphore de feuille de calcul pour des calculs côté serveur pour une application Web ou si vous souhaitez accéder à la bibliothèque de fonctions financières fournies avec Excel à partir de code côté serveur, vous pouvez utiliser < Un href = "http://msdn.microsoft.com/en-us/library/ms546696.aspx" rel = "Nofollow Noreferrer"> Excel Services . Il est exposé via du savon, interopérable, appelable à partir de toute plate-forme capable de savon. P>
C'est capable de serveur. Il ne charge pas réellement Excel sur le serveur, mais un runtime non-GUI des fonctions. p>
Je pense que utiliser Excel comme navigateur est une mauvaise idée, mais je pense que la meilleure idée est d'utiliser le contrôle Excel dans l'application de bureau. P>
De cette façon, vous pouvez contrôler le SQL et les connexions. Vous pouvez enregistrer des données aussi souvent que vous le souhaitez. Vous pouvez également mettre en œuvre un mécanisme de mise à jour. L'application serait plus sécurisée et plus difficile à pirater. P>
Je pense que Excel gèle lorsque vous essayez de vous connecter à une ressource extérieure et de cette façon, vous contrôleriez tout. P>
Été fait avant. Ce n'est pas une mauvaise idée quand c'est une application personnalisée destinée à inverser un problème spécifique pour une certaine personne / entreprise. Avez-vous vraiment besoin que cela soit un webApp?
Pourquoi vraiment? Est-ce réellement? Vous avez encadré la question comme «Je dois faire une application Web. Est-il mauvais de le faire dans Excel? ', Au lieu de «j'ai besoin de faire une application Excel. Quel est le meilleur moyen? '. Ou mieux: je veux faire de tels et tels, est d'exceller une meilleure plate-forme que le Web? Nous pourrions (je ne pouvais pas, réellement) en discuter.