Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3041 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Office sur un poste client

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Office sur un poste client

n°1539401
jadorelesc​ss38
Posté le 06-04-2007 à 10:14:54  profilanswer
 

Bonjour,
 
je développe une application web qui sera sur un serveur et qui sera accessible aux postes clients (normal...)
Cette application web est en fait une version web d'un logiciel développé en Delphi...
J'utilise donc une dll (toujours développé en delphi) qui regroupe l'ensemble de mes fonctions.
Certaines des fonctionnalités de mon logiciel (que ce soit en version windows ou web) utilisent Office, par exemple des tableaux excel qui sont remplis "automatiquement" par des données qui ont été entré dans le logiciel par l'utilisateur... Bref, voici en gros ce que fait mon logiciel...
 
Maintenant, ce qui pose problème:
Je dois pouvoir lancer les logiciels d'Office... j'ai donc 2 solutions:
 
1- Lancer Excel (ou autre) sur le poste client (choix numéro 1)
2- Lancer Excel sur le serveur et renvoyer le résultat sur le poste client (ce qui nécessite d'installer Office sur le serveur --> choix numéro 2)
 
 
Sachant que je préfère la première solution: Comment faire pour ouvrir Excel par exemple sur un poste client (si c'est possible) ? Quelle(s) technologie(s) pourrai(en)t m'aider ?
 
Merci d'avance


Message édité par jadorelescss38 le 06-04-2007 à 10:18:36
mood
Publicité
Posté le 06-04-2007 à 10:14:54  profilanswer
 

n°1539460
MagicBuzz
Posté le 06-04-2007 à 11:30:58  profilanswer
 

tu dois juste ouvrir excel ? ou ouvrir un fichier excel généré ?
 
pour le premier cas, pas de solution autre que passer par un activex ou une applet java qui va lever 20 000 warnings de sécurité
 
pour le second cas, t'as juste à envoyer en header de ton fichier généré le type mime correspondant à excel, le navigateur web va s'occuper d'ouvrir excel pour faire le rendu

n°1539468
rufo
Pas me confondre avec Lycos!
Posté le 06-04-2007 à 11:35:40  profilanswer
 

en techno web classique, c'est pas possible (et heureusement, sinon, bonjour les failles de sécurité!). A moins que tu veuilles juste proposer un ficheri excel en download?
Donc -> 2.

Message cité 1 fois
Message édité par rufo le 06-04-2007 à 11:36:16
n°1539475
MagicBuzz
Posté le 06-04-2007 à 11:41:10  profilanswer
 

rufo a écrit :

en techno web classique, c'est pas possible (et heureusement, sinon, bonjour les failles de sécurité!). A moins que tu veuilles juste proposer un ficheri excel en download?
Donc -> 2.


c'est pas tout à fait vrai.
 
en se creusant bien le fion, tu peux faire des trucs pas mal avec la solution de la génération à la volée sur le serveur. tu peux même générer des macros à la volée, et les faire exécuter dans le fichier généré à l'ouverture (mais bon, faut un peu désactiver tout ce qui ressemble à de la sécurité pour ce qui est du site web, mais pour un intranet c'est pas gênant)
 
j'avais fais une application de CRM comme ça pour un client.
=> le gars au centre d'appel loguait l'appel dans une appli web. ça lui générait un document word, qui s'ouvrait sur son poste. ensuite il saisissait quelques infos, et une macro dans le fichier s'occupait de publiposter les infos au client, à un vendeur, ou au service sav selon les besoins. m'étais pas mal éclaté à l'époque. en tout cas, ils étaient ravis de l'application ^^. ensuite, lorsque chacun ouvrait le document word, la macro s'occupait d'assurer le suivi par rapport au serveur web.


Message édité par MagicBuzz le 06-04-2007 à 11:42:08
n°1539485
jadorelesc​ss38
Posté le 06-04-2007 à 11:46:34  profilanswer
 

MagicBuzz a écrit :

tu dois juste ouvrir excel ? ou ouvrir un fichier excel généré ?


 
Je dois ouvrir un fichier excel qui sera différent selon les données que l'utilisateur aura rentré dans le logiciel...
Mais je ne veux pas proposer le téléchargement du fichier, mais bien qu'il se crée et s'affiche sur le PC du client... (voir qu'il se crée sur le serveur et que je l'affiche ensuite sur le client... mais je veux pas qu'il soit téléchargé sur le poste client et que le client ai à l'ouvrir... je veux qu'il s'ouvre "tout seul".)
 
On m'a parlé d'activeX... mais je connais pas vraiment... sa pause des problèmes de sécurité ?
 
 

n°1539498
MagicBuzz
Posté le 06-04-2007 à 11:54:37  profilanswer
 

t'as déjà essayé de faire un fichier html "tout bête" (avec un joli tableau tout moche mis en couleur avec des css toutes pourries) que tu renomme en *.xls sur le serveur ?
 
ho ! miracle quand tu l'ouvres depuis IE, ça ouvre excel et le fichier est dedans !
 
ben c'est de ça que je te parle... y'a que les pc sur lesquels excel n'est pas installé que IE propose d'enregistrer un fichier excel. par défaut, il l'ouvre dans excel, sans même rien demander à l'utilisateur...

n°1539519
jadorelesc​ss38
Posté le 06-04-2007 à 12:07:46  profilanswer
 

MagicBuzz a écrit :

ben c'est de ça que je te parle... y'a que les pc sur lesquels excel n'est pas installé que IE propose d'enregistrer un fichier excel. par défaut, il l'ouvre dans excel, sans même rien demander à l'utilisateur...


OK ça j'ai compris...
En fait mon truc est un peu plus compliqué que sa, le fichier que sa: Mon fichier excel doit être fait selon une mise en page bien précise pour permettre ensuite une importation... Le logiciel reconnaitra les données qui l'intéresse....
 
Pour l'exemple de "génération à la volée" dont tu parlais un peu plus haut, tu as utilisé activeX ?

n°1539529
MagicBuzz
Posté le 06-04-2007 à 12:19:31  profilanswer
 

non.
je serveur web génère une page HTML, avec quelques balises spécifiques à Excel, puis l'envoie comme une bête page web en changeant le type mime de façon à ce que ce soit excel qui l'ouvre. rien aucun activex à faire.
 
ouvre simplement un document excel tout beau comme tu veux.
fait "enregistrer sous", choisi le format "html", et regarde le code qu'il te génère. ton serveur web doit générer une page avec la même tronche. t'as rien de plus à faire.

n°1539551
antac
..
Posté le 06-04-2007 à 13:09:52  profilanswer
 

jadorelescss38 a écrit :

Je dois ouvrir un fichier excel qui sera différent selon les données que l'utilisateur aura rentré dans le logiciel...
Mais je ne veux pas proposer le téléchargement du fichier, mais bien qu'il se crée et s'affiche sur le PC du client... (voir qu'il se crée sur le serveur et que je l'affiche ensuite sur le client... mais je veux pas qu'il soit téléchargé sur le poste client et que le client ai à l'ouvrir... je veux qu'il s'ouvre "tout seul".)
 
On m'a parlé d'activeX... mais je connais pas vraiment... sa pause des problèmes de sécurité ?


 
Alors en gros le principe, tu fais une exportation Excel, le fichier va être généré par le serveur et apparaitre en téléchargement il l'ouvre et s'ouvre automatiquement avec le programme qui gère les xls (Excel, OpenOffice Calc par exemple).

n°1539676
jadorelesc​ss38
Posté le 06-04-2007 à 15:44:52  profilanswer
 

antac a écrit :

Alors en gros le principe, tu fais une exportation Excel, le fichier va être généré par le serveur et apparaitre en téléchargement il l'ouvre et s'ouvre automatiquement avec le programme qui gère les xls (Excel, OpenOffice Calc par exemple).


 
Oui c'est ça... Sachant que dans mon cas, le programme qui gère les xls sera Excel...

mood
Publicité
Posté le 06-04-2007 à 15:44:52  profilanswer
 

n°1539732
jadorelesc​ss38
Posté le 06-04-2007 à 16:32:57  profilanswer
 

Sinon c'est réalisable avec ActiveX ? difficile à mettre en place dans mes 2 cas ? (voir mon premier post)

n°1539735
MagicBuzz
Posté le 06-04-2007 à 16:35:21  profilanswer
 

la solution que j'ai donné dès le départ marche comme ça (grrrr)
 
la solution activex est la solution ultime, mais c'est aussi la plus complexe à développer, surtout, la plus difficile à déployer, donc évite autant se faire se peut


Message édité par MagicBuzz le 06-04-2007 à 16:35:56
n°1540655
jadorelesc​ss38
Posté le 10-04-2007 à 11:12:11  profilanswer
 

Bon voila ce que j'ai fait:
 
- j'ai ouvert excel pour faire un tableau de test que j'ai enregistré en .html
- je l'ai ensuite "transformé" en .asp en rajoutant le code suivant dans l'entête:

Citation :

<%  
Response.ContentType = "application/vnd.ms-excel"
%>


Ce code étant censé faire en sorte que le document soit ouvert avec excel....
 
Le problème c'est qu'il m'ouvre bien mon tableau excel mais dans la page du navigateur... Le logiciel Excel lui-même ne se lance pas
 

n°1540735
MagicBuzz
Posté le 10-04-2007 à 14:10:23  profilanswer
 

il faut ajouter aussi que le document doit être "attached".

n°1540773
jadorelesc​ss38
Posté le 10-04-2007 à 14:59:12  profilanswer
 

Tu connais la syntaxe pour le spécifier stp ?

n°1541116
jadorelesc​ss38
Posté le 11-04-2007 à 08:37:57  profilanswer
 

Finalement c'est seulement sur IE que j'ai mon problème d'ouverture, sur Mozilla Firefox sa marche...

 

... à l'exeption d'un petit problème:
Quand j'ouvre ma page avec Mozilla Firefox, mon tableau excel s'affiche sous excel (jusque là tout va bien)... le soucis c'est qu'un fichier excel est crée dans un dossier "temp"

Citation :

C:\Documents and Settings\nom_utilisateur\Local Settings\Temp


Et si je ferme mon fichier excel qui a été ouvert, le fichier temporaire reste présent... Cela pourrait me poser des soucis, mais c'est pas le plus important...

 

Le gros problème est sous IE:
Quand j'ouvre ma page avec IE, j'ai un truc assez bizarre: mon fichier excel s'ouvre dans mon navigateur IE (au lieu de s'ouvrir dans excel)... Cependant j'ai des éléments du logiciel excel présents (le petit logo d'aide en bas à droite, la barre de navigation en haut contient a la fois des éléments du navigateur et des éléments du logiciel excel... :( )... Et le plus beau, j'ai des icones Mozilla qui apparaissent en haut à droite et dans ma barre des taches)... Conclusion, j'ai un joli mix entre IE, FF et Excel...
Pour faire plus simple qu'une description, voici un screen:
http://www.casimages.com/img/jpg/mini_070411093100467609.jpg

 

Sinon ce qui est bien avec IE, c'est que mon fichier temporaire "s'auto-détruit" lorsque je le referme.
Par contre un fichier texte se crée avec le contenu suivant:

Citation :

04/11/2007 09:04:12
Server error: L'URL "/test.asp" ne fait pas partie d'un site Web FrontPage.

 

Si quelqu'un a une idée du pourquoi du comment de mon "bug" avec IE...


Message édité par jadorelescss38 le 11-04-2007 à 09:36:18
n°1541173
jadorelesc​ss38
Posté le 11-04-2007 à 10:50:12  profilanswer
 

UP  :)

n°1541258
rufo
Pas me confondre avec Lycos!
Posté le 11-04-2007 à 13:02:29  profilanswer
 

pour le fichier xls qui s'ouvre dans IE, c'est "normal".

n°1541318
jadorelesc​ss38
Posté le 11-04-2007 à 14:27:21  profilanswer
 

Bin c'est pas ce que je souhaite obtenir en tout cas...

n°1541333
MagicBuzz
Posté le 11-04-2007 à 14:37:34  profilanswer
 

d'où le attached. cherche dans google un peu, j'ai pas le courage de chercher

n°1593261
antac
..
Posté le 30-07-2007 à 13:13:16  profilanswer
 

Je répond tres tard mais bon, j'ai eu le problème également (et ca peut intéresser du monde) Voici ma page download.php qui spécifie à IE d'ouvrir en utilisant Word (dans mon cas)
<?php
// Module name : download.php
// This allows to download a doc file and show it with Word to prevent loading in an Internet Explorer screen
 
$lstrUrlFile=$_GET['file']; //Collect URL file
$lintPrjIdn=$_GET['prj']; //Collect Prj number
$lstrtypedoc = explode(".", $lstrUrlFile); //If it's a word file, specify to run msword out from Internet Explorer, get extension of the file
// Separate fields
$lstrtypedoc  = $lstrtypedoc[1];
if ($lstrtypedoc=="doc" )  
{
 if (eregi('msie', $HTTP_USER_AGENT) && !eregi('opera', $HTTP_USER_AGENT))      // Internet Explorer  $navigateur="Internet Explorer"; }
 {
 ?>
  <SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
  <!--
  function runword()
  {
  var oSH = new ActiveXObject("WScript.Shell" );
  oSH.Run("winword.exe <?php echo "http://win2kaal/".$lstrUrlFile?>" );
  window.location.replace(
   <!--"http://win2kaal/uploaddoc.php?prj=<?php echo $lintPrjIdn?>" );

  }
  //-->
  runword()
  </SCRIPT>
 <?php  
 }  
 else
 {
  header('location: '.$lstrUrlFile); //If it's firefox or another browser, just use a header
 }
}
else
{
 header('location: '.$lstrUrlFile);//If it's not a doc file, just use a header
}
?>


Message édité par antac le 30-07-2007 à 13:13:44
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Office sur un poste client

 

Sujets relatifs
macro MS Office qui marchent sur des postes et pas d'autrescomment ouvrir le client de messagerie par défaut en c# ?
problème jeux devinette client/serveur[C] Client/Serveur : tchat, envoi à tous les clients
Utilisation de Office Web Component (OWC) [auto-résolu]Votre poste de travail
[java sources] client p2p simple[PHP] Placer un fichier sur le poste client
[offre d'emploi] poste à pourvoir 
Plus de sujets relatifs à : Office sur un poste client


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR