Как да използвате сървъра диаграми за динамично генериране на диаграми


Резюме


Освен с помощта на Microsoft Office диаграма уеб компонент като Component Object Model (COM) контрола на формуляр, възможно е да използвате уеб компонент на диаграма като обект на не са видими, в паметта. Тази статия показва как можете да използвате уеб компонент на диаграма на сървър, за да създадете диаграма представя като изображение Graphics Interchange Format (GIF). Можете да ги стратегията, описана в тази статия, за да генерира диаграма изображения, които могат да се използват в интернет или предприятия с разнородни клиентски настолни компютри.

Допълнителна информация


С уеб компонент на диаграма можете да създадете диаграми с помощта на данни от различни източници, като например масиви, бази данни, електронни таблици и всякакви източници на данни по избор. След като създадете диаграма, можете да използвате метода ExportPicture на компонент на диаграма за генериране на GIF изображение на тази диаграма.

За да направите това, можете да модифицирате файла global.asa и създадете ASP страница с код, показано в следващите стъпки.

Стъпки за създаване на проект

  1. Стартирайте във Microsoft Visual InterDev.
  2. Създайте нов уеб проект, наречен
    ServerChart и щракнете върху бутона " напред ".
  3. Въведете в сървър, който се използва за уеб проекта.
  4. Щракнете върху Готово да създадете уеб проекта.
  5. С десния бутон върху вашия проект директория на сървъра (обикновено това е C:\Inetpub\wwwroot\ServerChart), изберете свойства и след това щракнете върху раздела защита .
  6. Щракнете върху разрешенияи добавете следните разрешения директория:
    IUSR_SERVERNAME: Четене, писане, изпълнение, изтриване
    Създател: Четене, писане, изпълнение, изтриване
  7. Щракнете върху OK , за да зададете разрешения.
  8. В проекта във Visual InterDev с десния бутон върху файла global.asa и изберете Да работи копие.
  9. Променете global.asa файл съдържа следния скрипт:
    <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. Щракнете върху менюто на проекта , изберете Уеб файли изберете Active Server Page. Име на страницата chart.asp.
  11. Промяна на скрипта chart.asp да съдържа следното:
    <%@ 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. Запишете проекта.
  13. С десния бутон върху chart.asp в Проекта и изберете изглед в браузър.
Страницата се появява в диаграма, съдържащ CPU използване на различни компютри. Избиране на различни организации, можете да видите различни операциите.

Когато създавате множество диаграми, базирани на различни набори от данни, всяка диаграма трябва да бъде записан като уникален GIF файл. В този пример време на изпълнение на скриптове библиотека FileSystemObject създава временен файл за GIF изображение. Файлът се поставя в същата папка като ASP страница, така че можете да използвате MapPath метод на обекта на сесията да местоположението на временния файл. Името на файла се записва като сесийна променлива, така че тя се изтрива, когато сесията приключи.

Имайте предвид, че IIS изпълнява подпрограма Session_OnEnd когато сесия изтече. Сесия пъти Ако клиентът не поиска страница по време на изчакване, която е зададена за една минута в началото на сесията.

Допълнителни бележки

В момента само наличния ExportPicture метод е "GIF" изображения.

ExportPicture метод има два аргументи, които ви позволяват да посочите размерите в пиксели генерира диаграма. Предоставя примерен код ширина и височина размери са твърдо кодиран. Вместо това можете да използвате аналитичности, описващ вашия клиент.

OWC. Диаграма ProgID се отнася за Office Web Components 9.0. Ако искате да използвате версия 10 на компонентите, променете ProgID от OWC. Диаграма на OWC10. Област на диаграмата или ако искате да използвате версия 11 на компонентите, променете ProgID от OWC. Диаграма на OWC11. Област на диаграмата.

Проблеми с използване на сървъра

Имайте предвид, че уеб частите на Office 2000 са предназначени за използване на сървъра и може да срещнете проблеми, ако използвате компонентите на сървър с голям брой едновременни потребителски връзки. Много от тези въпроси са разгледани в уеб компоненти на Office XP и Office 2003 Web Components, което трябва да използвате уеб компоненти на Office XP или Office 2003 Web Components големи решения на сървъра.


За допълнителна информация щракнете върху следния номер на статия в базата знания на Microsoft:
317316 информация: ограничения на Office 2000 уеб компоненти, когато използва сървъра

Препратки


Програмиране на уеб компоненти на Microsoft Office от Дейв Stearns ISBN: 0-7356-0794-X

За допълнителна информация относно използването на уеб компонент на диаграма вижте следните статии от базата знания:
240263 как да създадете Комбинирана диаграма с уеб компонент на диаграма
235885 как да използвате Office Web Component диаграма с VB
243192 как да използвате VBScript да свързват диаграма компонент на електронна таблица