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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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 (?)
J@C
http://jacxl.free.fr/
"Makmaze" <makmaze@invalid.com> a écrit dans le message de news:
tqskkv8i2dpttcmepho3ufhi5pi9vao7hd@4ax.com...
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
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
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
"j@c" <jacques.chaussard@noos.fr> 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
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
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
"j@c" <jacques.chaussard@noos.fr> 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