Question

Je dois concevoir un petit projet pour générer des rapports Excel dans .NET, qui seront envoyés aux utilisateurs pour qu'ils les utilisent.

Les rapports Excel contiendront des tableaux croisés dynamiques.

Je n'ai pas beaucoup d'expérience avec eux, mais je peux penser à trois alternatives de mise en œuvre :

  1. Définissez une requête, remplissez-la, envoyez-la déconnectée.De cette façon l'utilisateur pourra regrouper les valeurs et jouer un peu, mais il ne pourra pas rafraîchir les données.
  2. Générez une petite base de données d'accès et envoyez-la avec le fichier Excel, connectez-vous-y.
  3. Copiez les données dans Excel (peut-être dans une autre feuille) et connectez-vous aux données là-bas.Cela rendra le fichier Excel très volumineux, je pense.

Quelle serait la meilleure alternative en termes de performances par rapport à la convivialité ?Existe-t-il une autre alternative que je ne connais pas ?

Était-ce utile?

La solution

Puisqu'il s'agit d'un petit projet, vous pouvez compter sur Excel pour le stockage des données de l'application.Ce sera plus facile à développer et à tester, et plus simple à maintenir.

Autres conseils

@Espo

Non, les utilisateurs n'auront pas accès à la source de données d'origine, c'est pourquoi j'envisage de créer une petite base de données d'accès avec le sous-ensemble de données requis pour le rapport.

Faut-il conserver les données « hors ligne » ?

Ce que je fais habituellement dans les cas où vous disposez d'un peu de données, c'est d'utiliser un serveur SQL existant déjà sur le réseau.S'il doit être utilisé au bureau, les utilisateurs le feront de toute façon en ligne.

N'oubliez pas de créer un utilisateur dédié avec un accès restreint sur le serveur SQL pour ce rapport et de ne pas stocker le mot de passe "sa" dans le fichier Excel.

Si par « envoyé aux utilisateurs » vous entendez les utilisateurs en dehors du bureau, ce ne serait pas une bonne solution.Si tel est le cas, j'essaierais d'inclure les données dans la feuille Excel et de voir quelle sera leur taille.Ce sera la solution la plus conviviale si le fichier n’est pas trop volumineux.

D'ailleurs, j'ai trouvé ceci sur Internet : Différentes manières d'utiliser les requêtes Web dans Microsoft Office Excel 2003.Cela vous permettra de stocker les données sur un site Web public (avec une URL secrète si vous le souhaitez), puis de laisser Excel extraire les données.De cette façon, vous n'avez pas besoin de remplir la boîte de réception des utilisateurs avec des fichiers volumineux et vous pouvez également mettre à jour les données ultérieurement sans renvoyer le fichier Excel.

L’option 3 semble la plus simple et j’aurais pensé qu’Excel n’était pas plus efficace qu’Access pour stocker les données.Le problème avec deux fichiers est de faire fonctionner les liens entre eux même dans un emplacement différent.

@paulmorriss

Peut être...le problème est qu'il existe des limites quant à la quantité de données qu'une seule feuille peut contenir...Je pense à l'option 2, à moins que quelqu'un me dise que ce n'est pas une bonne idée en termes de performances

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