Comment faire pour utiliser la conception de graphiques côté serveur pour générer des graphiques de manière dynamique

Traductions disponibles Traductions disponibles
Numéro d'article: 244049 - Voir les produits auxquels s'applique cet article
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Agrandir tout | Réduire tout

Sommaire

Résumé

Outre l'utilisation du composant Web Graphique Microsoft Office en tant que contrôle COM (Component Object Model) hébergé sur un formulaire, il est possible d'utiliser le composant Web Graphique en tant qu'objet en mémoire non visible. Cet article explique comment utiliser le composant Web Graphique sur un serveur pour créer un graphique représenté par une image GIF (Graphics Interchange Format). Vous pouvez implémenter la stratégie décrite dans cet article pour générer des images de graphiques qui pourront être utilisées sur Internet ou dans des sociétés avec des postes de travail clients hétérogènes.

Plus d'informations

Avec le composant Web Graphique, vous pouvez créer des graphiques à l'aide de données provenant de sources variées, telles que des tableaux, des bases de données, des feuilles de calcul ou toute autre source de données personnalisées. Après avoir créé un graphique, vous pouvez utiliser la méthode ExportPicture du composant Graphique pour générer une image GIF de ce graphique.

Pour cela, vous pouvez modifier le fichier global.asa et créer une page ASP avec le code contenu dans les étapes suivantes.

Étapes pour créer le projet

  1. Démarrez Microsoft Visual InterDev.
  2. Créez un projet Web intitulé ServerChart, puis cliquez sur le bouton Ouvrir.
  3. Tapez le serveur à utiliser pour ce projet Web.
  4. Cliquez sur Terminer pour créer le projet Web.
  5. Cliquez avec le bouton droit sur le répertoire du projet sur le serveur (généralement C:\Inetpub\wwwroot\ServerChart), sélectionnez Propriétés, puis cliquez sur l'onglet Sécurité.
  6. Cliquez sur Autorisations, puis ajoutez les autorisations de répertoire suivantes :
    IUSR_SERVERNAME : Lecture, Écriture, Exécution et Suppression
    Creator : Lecture, Écriture, Exécution et Suppression
  7. Cliquez sur OK pour définir les autorisations.
  8. Dans le projet Visual InterDev, cliquez avec le bouton droit sur le fichier global.asa et sélectionnez Obtenir copie de travail.
  9. Modifiez le fichier global.asa pour inclure le script suivant :
    <SCRIPT LANGUAGE=VBScript RUNAT=Server>
    
    Sub Session_OnStart
    	' Create a FileSystemObject to provide files in the script
    	Set Session("FSO") = CreateObject("Scripting.FileSystemObject")
    	
    	' Create a variable that has the number of files created in this session
    	Session("n") = 0
    	
    	' Set timeout to be 1 minute
    	Session.Timeout = 1
    End Sub
    
    Sub Session_OnEnd
    	' Delete the files created in this session
    	Dim x
    	For x = 0 to Session("n")-1
    		Session("FSO").DeleteFile Session("sTempFile" & x), True
    	Next
    End Sub
    </SCRIPT>
  10. Cliquez sur le menu Projet, sélectionnez Ajouter un élément, puis sélectionnez Page ASP. Nommez la page chart.asp.
  11. Modifiez le script dans chart.asp comme suit :
    <%@ language="vbscript" %>
    <html>
    <body>
    <h1>Realtime CPU Utilization by Configurations</h1>
    
    <FORM action="chart.asp" method=get name=frmChooseOrg>
    
    <p> Select an Organization to see values for their machines: 
    
    <SELECT name=sOrg>
    <OPTION SELECTED value= 5>Org1</OPTION>
    <OPTION value= 10>Org2</OPTION>
    <OPTION value= 15>Org3</OPTION>
    
    <OPTION value= 20>Org4</OPTION>
    </SELECT>
    
    <INPUT type="submit" value="Go"></p>
    
    </FORM>
    
    <%
    
    Dim oChart, c, Categories(5), Vals(5), i, sCaption, nData, nOrg
    
    ' Get the input value
    nData = Request.QueryString("sOrg")
    
    'When the page loads the first time, set ndata to 5
    if len(nData) = 0 then nData = 5
    
    ' Generate random categories and values for the chart
    ' These values can come from some existing data source
    for i = 1 to 5
    	Categories(i) = "Machine" & CStr(i)
    	Vals(i) = nData * Rnd(100)
    next
    
    ' Create a Chart Object
    Set oChart = CreateObject("OWC.Chart")
    Set c = oChart.Constants
    
    ' Set the different parameters for the ChartSpace
    oChart.Border.Color = c.chColorNone
    
    ' Get Organization number and use it to set the Caption
    nOrg = nData/5
    sCaption = "Current Utilizations for Org"
    sCaption = sCaption & CStr(nOrg)
    
    ' Add a chart and set parameters for the chart
    oChart.Charts.Add
    oChart.Charts(0).Type = oChart.Constants.chChartTypeColumnClustered
    oChart.Charts(0).SeriesCollection.Add
    oChart.Charts(0).SeriesCollection(0).Caption = sCaption
    oChart.Charts(0).SeriesCollection(0).SetData c.chDimCategories, c.chDataLiteral, Categories
    oChart.Charts(0).SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, Vals
    oChart.Charts(0).HasLegend = True
    oChart.Charts(0).HasTitle = True
    
    ' Get a temporary filename to save chart in that file
    sFname = Session("FSO").GetTempName & session.SessionID & ".gif"
    
    ' Export the chart to the temporary file
    oChart.ExportPicture server.MapPath(sFname), "gif", 600, 512
    
    ' Create a link to the generated file
    Response.Write "<img src='" & sFname & "'>"
    
    ' Store the file with its path in the session object for cleanup
    Session("sTempFile" & Session("n")) = Server.MapPath(sFname)
    
    ' Increment the number of files
    Session("n") = Session("n") + 1
    
    %>
    
    </body>
    </html>
    					
  12. Enregistrez le projet.
  13. Cliquez avec le bouton droit sur chart.asp dans l'Explorateur de projets et sélectionnez Afficher dans le navigateur.
La page s'affiche avec un graphique contenant les utilisations de la CPU pour plusieurs ordinateurs. En sélectionnant différentes organisations, vous pouvez afficher différentes utilisations.

Lorsque vous créez plusieurs graphiques basés sur des jeux de données différents, vous devez enregistrer chaque graphique dans un fichier GIF unique. Dans cet exemple, l'objet FileSystemObject de la bibliothèque d'exécutables de script génère un fichier temporaire pour l'image GIF. Le fichier est placé dans le même dossier que la page ASP pour que vous puissiez utiliser la méthode MapPath de l'objet Session pour obtenir l'emplacement du fichier temporaire. Le nom de fichier, enregistré en tant que variable de session, est supprimé à la fin de la session.

Notez que les services Internet (IIS) exécutent la sous-routine Session_OnEnd lorsque la session dépasse le délai imparti. Le délai de la session est dépassé si le client n'a pas demandé de page pendant le dépassement de délai, qui est défini à une (1) minute au début de la session.

Remarques supplémentaires

Le seul filtre actuellement disponible pour la méthode ExportPicture concerne les images "GIF".

La méthode ExportPicture possède deux arguments qui vous permettent d'indiquer les dimensions en pixels du graphique généré. Dans l'exemple de code fourni, la largeur et la hauteur sont codées de manière irréversible. Vous pouvez remplacer ces dimensions par celles spécifiées par votre client.

L'identificateur programmatique (ProgID) OWC.Chart s'applique à la version 9.0 des composants Web Office (Office Web Components 9.0). Si vous souhaitez utiliser la version 10 des composants, remplacez le ProgID OWC.Chart par OWC10.ChartSpace ou, si vous souhaitez utiliser la version 11 des composants, remplacez le ProgID OWC.Chart par OWC11.ChartSpace.

Problèmes liés à l'utilisation côté serveur

Notez que les composants Web Office 2000 ne sont pas conçus pour une utilisation côté serveur et que vous pouvez rencontrer des problèmes si vous utilisez les composants sur un serveur avec un nombre élevé de connexions utilisateur simultanées. Bon nombre de ces problèmes sont résolus dans les versions Office XP et Office 2003 des composants Web. Celles-ci sont recommandées pour les solutions côté serveur à grande échelle.

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
317316 INFO : Limitations des composants Web Office 2000 lors de leur utilisation côté serveur

Références

Stearns, Dave. Programming Microsoft Office Web Components. ISBN : 0-7356-0794-X (en anglais uniquement).

Pour plus d'informations sur l'utilisation du composant Web Graphique, reportez-vous aux articles suivants de la Base de connaissances Microsoft.
240263 Comment faire pour créer un graphique combiné avec le composant Web Graphique
235885 Comment faire pour utiliser le composant Web Graphique Office avec Visual Basic
243192 Comment faire pour utiliser VBScript pour lier un graphique à un composant Feuille de calcul

Propriétés

Numéro d'article: 244049 - Dernière mise à jour: lundi 25 octobre 2004 - Version: 3.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Composants Web Microsoft Office
  • Composants Web Microsoft Office
  • Microsoft Office Chart Component 9.0
Mots-clés : 
kbhowto kbofficewebchart KB244049
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com