서버쪽 차트 만들기 기능을 사용하여 동적으로 차트를 만드는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 244049 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR244049
모두 확대 | 모두 축소

이 페이지에서

요약

Microsoft Office 차트 웹 구성 요소는 폼에 게시되는 구성 요소 개체 모델(COM) 컨트롤로 사용할 수 있을 뿐만 아니라 메모리에 저장된 보이지 않는 개체로도 사용할 수 있습니다. 본 문서에서는 서버에서 차트 웹 구성 요소를 사용하여 GIF(Graphics Interchange Format) 이미지로 표현되는 차트를 만드는 방법을 설명합니다. 인터넷을 통해 또는 유형이 다른 클라이언트 데스크톱을 사용하는 엔터프라이즈 환경에서 사용할 수 있는 차트 이미지를 만드는 데 본 문서에서 설명하는 전략을 활용할 수 있습니다.

추가 정보

차트 웹 구성 요소를 통해 배열, 데이터베이스, 스프레드시트 또는 사용자 지정 데이터 원본 같은 다양한 출처에서 데이터를 사용하여 차트를 만들 수 있습니다. 일단 차트를 만든 후에는 차트 구성 요소의 ExportPicture 메서드를 사용하여 그 차트의 GIF 이미지를 생성할 수 있습니다.

이를 위해 global.asa 파일을 수정하고 아래 단계에 제공된 코드를 사용하여 ASP 페이지를 만들 수 있습니다.

프로젝트를 만드는 단계

  1. Microsoft Visual InterDev를 시작합니다.
  2. ServerChart라는 새 웹 프로젝트를 만들고 Next 단추를 누릅니다.
  3. 이 웹 프로젝트에 사용할 서버 이름을 입력합니다.
  4. Finish 를 눌러 웹 프로젝트를 만듭니다.
  5. 서버에서 프로젝트 디렉터리(대개 C:\Inetpub\wwwroot\ServerChart)를 마우스 오른쪽 단추로 누르고 속성을 선택한 다음 보안 탭을 누릅니다.
  6. 사용 권한을 누르고 다음 디렉터리 사용 권한을 추가합니다.
    IUSR_SERVERNAME : 읽기, 쓰기, 실행 및 삭제
    만든 이: 읽기, 쓰기, 실행 및 삭제
  7. 확인을 눌러 사용 권한을 설정합니다.
  8. Visual InterDev 프로젝트에서 global.asa 파일을 마우스 오른쪽 단추로 누른 다음 Get Working Copy를 선택합니다.
  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. Project 메뉴를 누르고 Add Web Item을 선택한 다음 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를 마우스 오른쪽 단추로 누르고 브라우저에서 View를 선택합니다.
다양한 컴퓨터의 CPU 사용률을 표시하는 차트를 포함하는 페이지가 나타납니다. 다양한 조직을 선택하여 서로 다른 사용률이 표시되는 것을 볼 수 있습니다.

서로 다른 데이터 집합을 토대로 하는 여러 차트를 만드는 경우 각 차트는 고유한 GIF 파일로 저장되어야 합니다. 이 예제에서 Scripting 런타임 라이브러리의 FileSystemObject는 GIF 이미지를 위한 임시 파일을 생성합니다. Session 개체의 MapPath 메서드를 사용하여 임시 파일의 위치를 얻을 수 있도록 임시 파일은 ASP 페이지와 동일한 폴더에 저장됩니다. 파일 이름은 세션이 끝나면 삭제되도록 세션 변수에 저장됩니다.

IIS는 세션이 시간을 초과할 때마다 Session_OnEnd 서브루틴을 실행합니다. 클라이언트가 제한 시간 안에 페이지를 요청하지 않으면 세션 시간 초과가 발생합니다. 이 시간 제한은 세션을 시작할 때 1분으로 설정됩니다.

추가 정보

현재 ExportPicture 메서드에 사용할 수 있는 필터는 "GIF" 이미지를 위한 필터뿐입니다.

ExportPicture 메서드에는 생성되는 차트의 크기를 픽셀 단위로 나타낼 수 있는 두 인수가 있습니다. 제공된 예제 코드에서 너비와 높이는 코드에 지정되어 있습니다. 이 너비와 높이 대신 클라이언트가 지정하는 크기를 사용할 수 있습니다.

OWC.Chart ProgID는 Office Web Components 9.0에 적용됩니다. 버전 10을 사용하려면 ProgID를 OWC.Chart에서 OWC10.ChartSpace로 변경하고, 버전 11을 사용하려면 ProgID를 OWC.Chart에서 OWC11.ChartSpace로 변경합니다.

서버쪽 사용 시 문제점

Office 2000 웹 구성 요소는 서버쪽에서 사용하도록 설계되지 않았으므로 동시 사용자 연결 수가 많은 서버에서 Office 웹 구성 요소를 사용하면 문제가 발생할 수 있습니다. Office XP 웹 구성 요소와 Office 2003 웹 구성 요소에서는 이러한 문제 중 많은 것들이 해결되므로 대규모 서버쪽 솔루션으로 Office XP 웹 구성 요소나 Office 2003 웹 구성 요소를 사용하는 것이 좋습니다.

자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
317316 INFO: 서버쪽에서 사용하는 경우 Office 2000 웹 구성 요소의 제한 사항

참조

Programming Microsoft Office Web Components, 데이브 스턴스 지음. ISBN: 0-7356-0794-X

차트 웹 구성 요소를 사용하는 방법에 대한 자세한 내용은 다음 기술 자료 문서를 참조하십시오.
240263 HOWTO: 차트 Web Component를 사용하여 조합 차트 만들기
235885 Visual Basic에서 차트 웹 구성 요소 사용 방법
243192 HOWTO: VBScript를 사용하여 차트를 스트레드시트 구성 요소에 바인딩




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 244049 - 마지막 검토: 2005년 8월 26일 금요일 - 수정: 3.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Office Web Components
  • Microsoft Office Web Components
  • Microsoft Office Chart Component 9.0
키워드:?
kbhowto kbofficewebchart KB244049

피드백 보내기

 

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