Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

PB generation fichier Excel

3 réponses
Avatar
Makmaze
Bonjour,
j'ai fais une application en ASP (pas .net, ASP tous cour ) hébergé
sur un serveur Windows 2000 avec IIS 5.

J'ai besoin de générer un fichier Excel (a partir d'une requête SQL) ,
et l'envoyer au client qui utilise l'application.
Ce que j'ai fait, je génère un tableau en HTML qui contient exactement
la mise en forme du tableau que je veux récupérer en fichier Excel et
en entête de ma page ASP je met le code :
Response.ContentType = "application/vnd.ms-excel"
Ça marche très bien, quand le client ouvre le lien, Excel s'ouvre
automatiquement et il n'a plus qu'a choisir si il veux sauvegarder le
fichier Excel ou l'ouvrir directement avec Excel.

Seulement voila, quand le fichier commence à être un peut gros (vers
8000 lignes ) Excel met en temps fou à s'ouvrir voir carrément il ne
s'ouvre jamais sur certaines machines...

Donc je me dis qu'il serais peux être plus judicieux de créer mon
fichier Excel sur le serveur et l'envoyer ensuite au client sans le
sauvegarder sur le serveur (ou alors temporairement ) sachant qu'aucun
client ne reçois le même fichier Excel et il faut bien sur qu'il soit
possible que plusieurs clients puissent générer un fichier Excel en
même temps.
Mais je ne vois absolument pas comment faire.

Une idée ? J'utilise Excel 97 et je ne peux pas utiliser une autre
version, je peux si besoin installer Excel sur le serveur.

Merci pour toute réponse.
--
Toi aussi accedes à la plénitude avec le Shaolingsu
http://tatv.free.fr

3 réponses

Avatar
j
il y a des tas de solutions à ton pb, mais il faut tester pour voir la plus
rapide (j'avoue que je comprends mal pourquoi ta méthode marche mal)

rien ne t'empêche de créer remplir directement un fichier Excel considéré
comme une base de données en utilisant en ASP des commandes SQL (sans
installer Excel sur le serveur), tu peux aller jeter un oeil sur
http://jacxl.free.fr/cours_xl/cours_xl_jac.html#xl_asp
(§ Modifier une table Excel à partir d'une page Web)

mais à mon avis, la méthode qui serait la plus rapide consisterait à créer
directement par asp un fichier texte avec des séparateurs ";" et enregistré
avec l'extension .csv
Si le serveur n'est pas trop embouteillé, ça doit être très rapide
Le fichier csv devrait s'ouvrir rapidement chez le client (?)


http://jacxl.free.fr/



"Makmaze" a écrit dans le message de news:

Bonjour,
j'ai fais une application en ASP (pas .net, ASP tous cour ) hébergé
sur un serveur Windows 2000 avec IIS 5.

J'ai besoin de générer un fichier Excel (a partir d'une requête SQL) ,
et l'envoyer au client qui utilise l'application.
Ce que j'ai fait, je génère un tableau en HTML qui contient exactement
la mise en forme du tableau que je veux récupérer en fichier Excel et
en entête de ma page ASP je met le code :
Response.ContentType = "application/vnd.ms-excel"
Ça marche très bien, quand le client ouvre le lien, Excel s'ouvre
automatiquement et il n'a plus qu'a choisir si il veux sauvegarder le
fichier Excel ou l'ouvrir directement avec Excel.

Seulement voila, quand le fichier commence à être un peut gros (vers
8000 lignes ) Excel met en temps fou à s'ouvrir voir carrément il ne
s'ouvre jamais sur certaines machines...

Donc je me dis qu'il serais peux être plus judicieux de créer mon
fichier Excel sur le serveur et l'envoyer ensuite au client sans le
sauvegarder sur le serveur (ou alors temporairement ) sachant qu'aucun
client ne reçois le même fichier Excel et il faut bien sur qu'il soit
possible que plusieurs clients puissent générer un fichier Excel en
même temps.
Mais je ne vois absolument pas comment faire.

Une idée ? J'utilise Excel 97 et je ne peux pas utiliser une autre
version, je peux si besoin installer Excel sur le serveur.

Merci pour toute réponse.
--
Toi aussi accedes à la plénitude avec le Shaolingsu
http://tatv.free.fr


Avatar
Makmaze
"" a écrit avec sa plus belle plume :

il y a des tas de solutions à ton pb, mais il faut tester pour voir la plus
rapide (j'avoue que je comprends mal pourquoi ta méthode marche mal)


En fait ma méthode marche très bien du moment que le fichier n'est pas
trop gros. Comme je l'ai dis dans mon post au dela de 8000 lignes
environ c'est la catastrophe, alors que moi j'ai besoin de générer des
fichiers au moins 10 fois plus gros.

mais à mon avis, la méthode qui serait la plus rapide consisterait à créer
directement par asp un fichier texte avec des séparateurs ";" et enregistré
avec l'extension .csv
Si le serveur n'est pas trop embouteillé, ça doit être très rapide


Merci, j'aurais du y pensser plus tôt. C'est effectivement ce que je
viens de faire, et ça marche du tonnerre ! J'arrive à créer des
fichier énormes et l'ouverture et très rapide, c'est parfait c'est ce
que je voulais.

Le fichier csv devrait s'ouvrir rapidement chez le client (?)


?
Oui, quand je dis client je parle de la machine cliente qui se
connecte au serveur.

@+ et encore merci
--
Toi aussi accedes à la plénitude avec le Shaolingsu
http://tatv.free.fr

Avatar
Makmaze
"" a écrit avec sa plus belle plume :

?
Oui, quand je dis client je parle de la machine cliente qui se
connecte au serveur.


moi aussi !!!
le "?" s'adressait au "devrais s'ouvrir" !


A ok, j'avais pas compris comme ça :-)
--
Toi aussi accedes à la plénitude avec le Shaolingsu
http://tatv.free.fr