2009-09-08 12 views
0

Good Afternoon,Création d'une application de formulaire Web ASP.net 3.5 dérivée d'Excel Workbook

Un client m'a fourni un fichier tableur que son équipe utilise pour fournir des devis pour un produit. La feuille de calcul a des données détaillées dans les feuilles sous-jacentes et appelle ces feuilles dans le cadre des nombreuses formules sur la feuille de devis.

J'ai été chargé de l'activation de cet outil sur le Web de sorte que les devis puissent être générés sur le site Web du client, hébergé dans un environnement partagé, en exécutant des formulaires Web ASP.net 3.5. Le formulaire Web de devis sera dans une partie restreinte du site Web contrôlée par l'API d'adhésion ASP.net.

Y a-t-il des outils tiers qui fonctionnent bien avec ce genre de chose?

Merci, Sid

+1

@Alex: Cela confirme également mon processus de réflexion. Jusqu'à ce que le formulaire Web soit entièrement développé, le personnel peut toujours utiliser sa feuille de calcul :) – SidC

Répondre

4

J'ai été une fois demandé de faire quelque chose de similaire. J'ai refusé. Quelqu'un d'autre a essayé cela et c'est devenu un échec complet. C'est parce que votre conception est basée sur la structure d'une feuille de calcul. Quand j'ai été rappelé pour m'aider dans ce projet, j'ai donné un coup de pied dans le grand code, qui restera fermé jusqu'à ce que l'Enfer gèle! J'ai ensuite commencé à analyser les feuilles Excel, à extraire la logique métier et à les écrire comme documentation. Cela m'a permis de créer un bon design pour mettre en place la première version d'un nouveau projet, qui n'était pas basé sur la feuille Excel, juste sur la logique métier de la feuille.

Ne soyez pas tenté de tomber dans ce piège! Cela semble trop facile mais en réalité, c'est trop cher en tant que solution à cause de tous les problèmes que vous rencontrerez!


Si votre client a vraiment besoin de quelque chose à utiliser très rapidement, commencez par .NET (VS2008 avec les derniers service packs ou mieux) et SQL Server. Commencez par créer une structure de base de données simple pour contenir les guillemets. Ajoutez autant de relations que nécessaire. Ensuite, en utilisant VS2008, créez un nouveau projet basé sur l'application Web "Dynamic Data Entities" qui utilisera Entity Framework pour se connecter à la base de données. Assurez-vous que le framework d'entité est connecté à votre base de données et que toutes les données lui sont fournies. (En y ajoutant un "ADO.NET Entity Data Model".) Compilez-le, mettez-le sur le serveur web et la version 0.1 devrait être prête. Cela permettra à votre client de continuer la saisie de données, bien que d'une manière un peu primitive, tout en maintenant l'intégrité des données de tout cela. Il n'est toujours pas suffisant d'exposer à l'extérieur du monde, mais il est plus facile de se débarrasser de la partie des données de la feuille de calcul Excel. (Et techniquement, il devrait être possible d'ajouter un service RESTful autour du modèle d'entité dans une heure pour permettre à Excel de lire les données d'un service Web à la place.)

Lorsque cette page d'accueil a été créée, votre client peut obtenir Utilisé pour la saisie de données à travers les pages Web pendant que vous avez le temps d'analyser un peu plus leur feuille de calcul pour optimiser le modèle de données et pour créer une logique personnalisée et de meilleures pages pour la saisie des données.

Fondamentalement, c'est l'approche que j'ai utilisée. Mon client avait des données dans des feuilles Excel qui étaient exportées vers une base de données Access qui était utilisée comme données en lecture seule pour les utilisateurs de son application. Il a utilisé Excel pour garder les données à jour. Mais lorsque plusieurs utilisateurs ont commencé à conserver les données dans la même feuille Excel, il a eu de gros problèmes, perdant l'intégrité et les données des feuilles Excel plusieurs fois. J'ai d'abord créé un modèle de données simple autour des données Excel avec l'Entity framework/DDS pour faciliter la saisie des données, puis j'ai pu optimiser la structure de la base de données pendant que le client continuait à modifier les données.Parfois, je mettrais à jour la structure de base de données, j'ajouterais plus de relations et restructurerais les données pour les optimiser et à un moment donné j'ajoutais la fonctionnalité de service RESTful pour que le client puisse obtenir les données en XML via une simple requête web. Maintenant, le client a complètement oublié la feuille Excel et utilise le site Web à temps plein. Il a accepté le fait que le transformer en quelque site Web de fantaisie coûtera beaucoup de temps mais la situation actuelle est tout à fait acceptable.

Cette approche a réussi là où les tentatives précédentes ont échoué simplement parce que je me concentrais uniquement sur les données, rien de plus. Maintenant, je peux tout améliorer en utilisant de petites étapes. Mais première étape: analyser la feuille Excel et vider les données dans une base de données. Le framework Entity vous permettra de créer rapidement des sites simples sans trop d'efforts.

+1

Je suis enclin à accepter. Utilisez votre feuille de calcul d'origine comme base pour une nouvelle conception de logiciel. –

+1

Merci beaucoup !!! J'apprécie vraiment votre temps et votre volonté de partager votre approche de ce problème. Merci encore :) – SidC

+0

De rien! Heureux d'être utile. :-) –

Questions connexes