Обзор
С помощью веб-компонент диаграмм Microsoft Office в качестве находящегося в форме элемента управления модели компонентных объектов (COM), можно использовать веб-компонент диаграмм как объект не виден, в памяти. В этой статье показано, как использовать веб-компонент диаграмм на сервере для создания диаграммы в виде изображения формата GIF (Graphics Interchange). Можно реализовать стратегию, рассматриваемые в данной статье, для создания изображения диаграммы, которые могут быть использованы в Интернете или на предприятиях с рабочим столам гетерогенных клиента.
Дополнительные сведения
С веб-компонент диаграмм позволяет создавать диаграммы, используя данные из различных источников, таких как массивы, баз данных, электронных таблиц или любых пользовательских источников данных. После создания диаграммы можно использовать метод ExportPicture компонента диаграмм для создания изображения GIF, диаграммы.
Для этого можно изменять файл global.asa и создавать страницы ASP с помощью кода, приведенных ниже.
Шаги по созданию проекта
-
Запустите Microsoft Visual InterDev.
-
Создание нового веб-проекта, который называется
ServerChart и нажмите кнопку Далее . -
Введите имя сервера, который будет использоваться для этого веб-проекта.
-
Нажмите кнопку Готово , чтобы создать веб-проект.
-
Щелкните правой кнопкой мыши папку проекта на сервере (обычно это C:\Inetpub\wwwroot\ServerChart), выберите команду Свойства и откройте вкладку Безопасность .
-
Выберите команду разрешенияи добавьте следующие разрешения для каталогов:
IUSR_SERVERNAME: Чтение, запись, выполнение и удаление
Создатель: Читать, писать, выполнение и удаление -
Нажмите кнопку ОК , чтобы задать разрешения.
-
В проекте Visual InterDev щелкните правой кнопкой мыши файл global.asa и выберите Получить копирования.
-
Измените файл 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> -
Выберите в меню проект , выберите команду Добавить веб-элементи выберите Активной серверной страницы. Имя страницы chart.asp.
-
Изменение сценария в 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> -
Сохраните проект.
-
Щелкните правой кнопкой мыши chart.asp в Обозревателе проектов и выберите просмотреть в обозревателе.
Отобразится страница с диаграммы, содержащей загрузки ЦП для различных компьютеров. Путем выбора различных организаций, можно просмотреть различные загрузки.
При создании нескольких диаграммах, основанных на различные наборы данных, каждая диаграмма должны сохраняться как уникальный файл GIF. В этом примере FileSystemObject библиотеки времени выполнения сценариев создает временный файл для GIF-изображения. Этот файл помещается в той же папке, как ASP-страницы таким образом, чтобы получить расположение временного файла можно использовать метод MapPath объекта сеанса. Имя файла сохраняется в переменной сеанса таким образом, чтобы он удаляется при завершении сеанса.
Обратите внимание, что IIS выполняет подпрограмму Session_OnEnd всякий раз, когда истекло время ожидания сеанса. Превышено время ожидания, если клиент не запросил страницу внутри время ожидания равным единице (1) минуты в начале сеанса.
Дополнительные замечания
В настоящее время только фильтра для метода ExportPicture является для изображений «GIF».
Метод ExportPicture имеет два аргумента, которые позволяют указать размеры в пикселах, созданной диаграммы. В примере кода предоставляется жестко заданы измерения ширины и высоты. Вместо этого можно использовать измерения, которые клиент указывает.
OWC. ProgID диаграммы применяется к версии 9.0 веб-компоненты Office. Если вы хотите использовать версии 10 компонентов, измените код ProgID из веб-компонентов Office. Диаграмма на OWC10. Диаграмм или если вы хотите использовать версии 11 компонентов, измените код ProgID из веб-компонентов Office. Диаграммы, чтобы OWC11. Диаграмм.
Проблемы использования на стороне сервера
Следует иметь в виду, что веб-компоненты Office 2000 не предназначены для использования на стороне сервера, и могут возникнуть проблемы при использовании компонентов на сервере, большое число одновременных пользовательских соединений. Многие из этих проблем рассматриваются в веб-компонентах Microsoft Office XP и веб-компоненты Microsoft Office 2003, и следует рассмотреть возможность использования веб-компонентов Office XP или веб-компонентов Office 2003 для крупных серверных решений.
Для получения дополнительных сведений щелкните номер статьи базы знаний Майкрософт ниже:
информация: ограничения веб компонентов Office 2000 When используется серверный
Ссылки
Программирование веб-компоненты Microsoft Office, Дэйв Stearns ISBN: 0-7356-0794-X
Дополнительные сведения об использовании веб-компонент диаграмм обратитесь к следующим статьям базы знаний Майкрософт:
как веб-компонент диаграмм для создания комбинированной диаграммы
Как использовать веб-компонент диаграмм Microsoft Office с VB
Как использовать VBScript для привязки диаграммы к электронной таблицы