générer une feuille Excel à partir d'un model Excel dans asp.net en utilisant vb.net

Je dois générer une feuille Excel à partir d'un model Excel qui contient des lists déroulantes. Je dois utiliser le model et remplir le file avec datatables de la database et sélectionner la valeur appropriée dans les lists déroulantes et générer la nouvelle feuille Excel. Je suis dans une situation très mauvaise et j'ai besoin de ça au plus tôt.

essayez de répartir le composant tiers Sheet Gear

http://www.spreadsheetgear.com/

OU

http://www.smartxls.com/

Vous avez quelques options:

  • Composant tiers ($$$) pour lire, modifier et envoyer le file Excel.
  • L'automation COM Office sur l'arrière-plan (mauvaise idée, vraiment. Ne le faites pas).
  • Enregistrez votre model sur le server en tant que file de feuille de calcul XML (le format XML utilisé par Office 2002 et 2003 et toujours pris en charge en 2007). Comme il s'agit d'un seul file XML, il peut être lu facilement par code côté server, modifié à la volée et redirigé vers l'user.
  • Enregistrez votre model sur le server en tant que file XLSX (le format XML le plus récent utilisé en 2007) et modifiez-le sur la sortie de l'user. Beaucoup plus compliqué car il y a un wrapper ZIP et plusieurs files XML impliqués.
  • Enregistrez votre model sur le server en tant que file normal Excel 97/2000 (pas 2007), et lorsque l'user le request, faites une copy du file sur le server (nécessite un access en écriture) avec un nom random, ouvrez une connection de database en utilisant le pilote Excel OLEDB au file Excel, exécutez les instructions INSERT dans celui-ci (va dans les tabs de ces noms, où vous stockez vos valeurs déroulantes), fermez la connection et envoyez le file. Mise en garde: le pilote Excel OLEDB a certaines limites.
  • Aller dans l'autre direction. Utilisez les fonctionnalités de connection de données Web d'Excel pour accéder au server après que le file Excel est déjà sur la machine de l'user et ouvert pour saisir les valeurs appropriées du server. Nécessite une formation de l'user pour actualiser datatables.