2009-09-10 9 views
0

Je veux exporter 5000 lignes à l'aide Response.ContentType = « application/vnd.ms Excel pour exceller sheet.There est pas d'erreur, mais la montre feuille Excel ne reçoit pas généréincapable d'exporter 5000 lignes

+0

Si vous enregistrez le téléchargement, obtenez-vous quelque chose? Je vous suggère de commencer par cela, puis regardez le fichier enregistré pour voir si vous pouvez repérer quelque chose de mal. Si vous n'obtenez rien, le débogage est la solution. –

+0

Je l'ai fait mais je ne reçois pas la feuille Excel du tout une fois que les enregistrements sont au-dessus de 5000 – Tarun

+0

Avez-vous essayé de générer et d'enregistrer le document sur le serveur puis de le télécharger? Cela pourrait vous donner un aperçu de ce qui se passe. – rjzii

Répondre

1

Juste un projectile dans l'obscurité: est-il possible que votre page est le timing quand vous avez ce grand nombre d'enregistrements vous pouvez essayer upping le délai d'attente de la page en définissant ce qui suit dans votre Page_Init:

Server.ScriptTimeout = 600 

Détermine le délai d'attente 10 minutes (la valeur par défaut est de 90 secondes)

+0

où est page_init? –

+0

C'est un événement dans le code-behind de votre page. – patmortech

1

Chan Il est bon que le temps nécessaire à la génération de votre feuille de calcul dépasse le délai imparti pour que le code finisse d'être exécuté pendant une réponse. Un moyen de contourner cela est d'avoir le code qui génère les feuilles de calcul en cours d'exécution en tant que processus totalement distinct qui agit un service. Les utilisateurs peuvent ensuite utiliser votre application asp.net principale pour démarrer le processus et suivre sa progression chaque fois qu'ils actualisent la page. Une fois le processus terminé, lors de la prochaine actualisation, un lien permettant de télécharger la feuille de calcul générée doit s'afficher.

Cette méthode peut être encore améliorée avec quelques ajax simple qui interroge le serveur toutes les 10 secondes environ pour mettre à jour l'indicateur de progression sur le client et afficher le lien de téléchargement lorsqu'il est terminé.

Questions connexes