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

Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
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 = 1End SubSub 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	NextEnd 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 valuenData = Request.QueryString("sOrg")'When the page loads the first time, set ndata to 5if len(nData) = 0 then nData = 5' Generate random categories and values for the chart' These values can come from some existing data sourcefor i = 1 to 5	Categories(i) = "Machine" & CStr(i)	Vals(i) = nData * Rnd(100)next' Create a Chart ObjectSet oChart = CreateObject("OWC.Chart")Set c = oChart.Constants' Set the different parameters for the ChartSpaceoChart.Border.Color = c.chColorNone' Get Organization number and use it to set the CaptionnOrg = nData/5sCaption = "Current Utilizations for Org"sCaption = sCaption & CStr(nOrg)' Add a chart and set parameters for the chartoChart.Charts.AddoChart.Charts(0).Type = oChart.Constants.chChartTypeColumnClusteredoChart.Charts(0).SeriesCollection.AddoChart.Charts(0).SeriesCollection(0).Caption = sCaptionoChart.Charts(0).SeriesCollection(0).SetData c.chDimCategories, c.chDataLiteral, CategoriesoChart.Charts(0).SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, ValsoChart.Charts(0).HasLegend = TrueoChart.Charts(0).HasTitle = True' Get a temporary filename to save chart in that filesFname = Session("FSO").GetTempName & session.SessionID & ".gif"' Export the chart to the temporary fileoChart.ExportPicture server.MapPath(sFname), "gif", 600, 512' Create a link to the generated fileResponse.Write "<img src='" & sFname & "'>"' Store the file with its path in the session object for cleanupSession("sTempFile" & Session("n")) = Server.MapPath(sFname)' Increment the number of filesSession("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
owc realtime
Propriétés

ID d'article : 244049 - Dernière mise à jour : 10/25/2004 17:53:00 - Révision : 3.2

Composants Web Microsoft Office, Composants Web Microsoft Office, Microsoft Office Chart Component 9.0

  • kbhowto kbofficewebchart KB244049
Commentaires