Visual Basic 또는 ASP Excel 2002 및 Excel 2003에서 XML 스프레드시트를 만드는 방법을

기술 자료 번역 기술 자료 번역
기술 자료: 285891 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

요약

Microsoft Excel 2002 및 Microsoft Office Excel 2003 있는 사용자는 모두 로드하고 수 통합 문서 또는 XML 스프레드시트에 저장할 XML 형식을 지원합니다. 이 XML 스프레드시트 형식을 사용하여 다중 시트, 만들 있습니다 자동화를 사용하지 않고 Excel 통합 문서에 서식이. Excel 만들어야 할 때 이 방법은 바람직하지 통합, 있지만 Excel을 자동화하는 데 적합하지 않습니다 (같은 웹 서버 또는 서비스) 또는 Excel 코드가 실행되는 시스템에 설치되어 있지 않습니다.

이 문서에서는 XML 서식 파일, 확장 가능한 스타일시트 언어 (XSL) 변환을 사용할 때 만드는 방법을 보여, Excel에서 직접 열 수 있는 서식이 지정된 통합 문서를 생성합니다. XML 변환을 ASP (Active Server Pages) 및 Visual Basic 보여 줍니다. Visual Basic 코드 샘플에서는 관련하여 스프레드시트 데이터를 단독으로 XML/XSL을 사용하여 생성된, 최소한의 자동화 결과를 열었이 사용됩니다.

참고 이 문서에서 설명하는 예제 다운로드, 다운로드 방법을 사용할 수 있으면 이 문서의 끝 부분에 있는 다운로드 섹션을 참고하십시오.

추가 정보

통합 문서에 대한 XML 서식 파일 만들기

  1. C:\ExcelXML 새 폴더를 만듭니다.
  2. Excel에서 통합 문서를 새로 시작하십시오. 표시된 셀의 통합 문서의 셀 A1:F2 다음 데이터를 추가하십시오. F2 셀을 수식으로 입력되어야 합니다.
    A1: Order ID    B1: Product ID   C1: Unit Price   D1: Quantity   E1: Discount  F1: Total
    A2: aaa         B2: 111          C2: 222          D2: 333        E2: 0         F2: =C2*D2*(1-E2)
  3. F3 셀에 다음 수식을 입력하십시오.
    =sum(f$2:f2)
  4. 셀 A1:F1을 선택하십시오. 서식 메뉴에서 을 클릭하십시오. 굵은 글꼴, 아래쪽 테두리 및 셀 음영 단색 적용됩니다. 확인 을 클릭하십시오.
  5. A:F. 메뉴에서 서식 열을 선택하고 을 가리킨 다음 너비 를 클릭하십시오. 새 열 너비 15 입력한 다음 확인 을 누릅니다. 열 A:F 계속 선택한 서식 메뉴에서 을 클릭하십시오. 맞춤 탭의 가로 맞춤 목록에서 센터 선택하고 확인 을 클릭하십시오.
  6. E. 열 선택 서식 메뉴에서 을 클릭하십시오. 탭의백분율 및 0 소수 자릿수를 지정할 클릭한 다음 확인 을 누릅니다.
  7. F. 열 선택 서식 메뉴에서 을 클릭하십시오. 숫자 탭의 계정 누른 다음 확인 을 누릅니다.
  8. 셀 A3:F3을 선택하십시오. 서식 메뉴에서 행 높이, 25 를 입력한 다음 확인 을 누릅니다. A3:F3 계속 선택한 서식 메뉴에서 을 클릭하십시오. 위쪽 테두리를 클릭하여 셀에 적용하고 확인 을 누릅니다.
  9. 도구 메뉴에서 옵션 을 클릭하십시오. 보기 탭의 눈금선 확인란의 선택을 취소하고 확인 을 클릭하십시오.
  10. 2 행을 선택하십시오. 메뉴에서 틀 고정 을 클릭하십시오.
  11. A1 셀을 선택하십시오.
  12. [파일] 메뉴에서 [다른 이름으로 저장 을 클릭하십시오. 사용자가 만든 C:\ExcelXML 폴더로 이동하여 "Orders.xsl" 로 XML 스프레드시트 형식으로 통합 문서를 저장하십시오.

    참고: 다른 이름으로 저장 대화 상자의 파일 이름 상자에 .xml 확장명을 파일 이름에 추가된 큰따옴표로 파일 이름을 묶어야 합니다.
  13. Excel을 종료하십시오.
  14. Orders.xsl 메모장과 같은 텍스트 편집기를 엽니다.
  15. 다음 사이에 삽입할 경우 <? XML 버전 "1.0" =? > 태그 및 <workbook>태그:
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
    <xsl:template match="/">
    <xsl:pi name="xml">version="1.0"</xsl:pi>
    					
  16. 다음 두 줄은 Orders.xsl 매우 끝에 추가:
    </xsl:template>
    </xsl:stylesheet>
    					
  17. (이 태그 집합을 나타내는 워크시트의 셀을 A2:F2) Orders.xsl 다음 태그 집합을 찾아
       <Row ss:Height="14.25">
        <Cell><Data ss:Type="String">aaa</Data></Cell>
        <Cell><Data ss:Type="Number">111</Data></Cell>
        <Cell><Data ss:Type="Number">222</Data></Cell>
        <Cell><Data ss:Type="Number">333</Data></Cell>
        <Cell><Data ss:Type="Number">0</Data></Cell>
        <Cell ss:Formula="=RC[-3]*RC[-2]*1*(1-RC[-1])"><Data ss:Type="Number">73926</Data></Cell>
       </Row>
    					
    다음 XSL 코드로 바꿉니다:
    <xsl:for-each select="xml/rs:data/z:row">
       <Row ss:AutoFitHeight="0" ss:Height="13.5">
        <Cell><Data ss:Type="String"><xsl:value-of select="@OrderID"/></Data></Cell>
        <Cell><Data ss:Type="Number"><xsl:value-of select="@ProductID"/></Data></Cell>
        <Cell><Data ss:Type="Number"><xsl:value-of select="@UnitPrice"/></Data></Cell>
        <Cell><Data ss:Type="Number"><xsl:value-of select="@Quantity"/></Data></Cell>
        <Cell><Data ss:Type="Number"><xsl:value-of select="@Discount"/></Data></Cell>
        <Cell ss:Formula="=RC[-3]*RC[-2]*(1-RC[-1])"><Data ss:Type="Number">0</Data></Cell>
       </Row>
    </xsl:for-each>
    					
  18. Orders.xsl, 변경 내용을 저장하고 파일을 닫습니다.

XML 유지 ADO 레코드 집합을 XML 스프레드시트로 변형할 수

  1. Visual Basic에서 만든 새 표준 EXE 프로젝트를.
  2. 프로젝트 메뉴에서 참조 를 누릅니다. 형식 라이브러리 Microsoft ActiveX 데이터 개체 2.5에 대한 (또는 이상) 및 Microsoft XML 3.0 선택하십시오.
  3. Form1을 사용하면 명령 단추 추가 및 단추의 Click 다음 코드를 추가하여 이벤트:
        Const sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
                      "C:\program files\microsoft office\office10\samples\Northwind.mdb"
        Const sOutXML = "C:\ExcelXML\Orders.xml"
        Const sXSL = "C:\ExcelXML\Orders.xsl"
        
        'Retrieve an ADO recordset of the Orders Detail table in Northwind.
        Dim nRecords As Long, nFields As Long
        Dim rs As New ADODB.Recordset
        rs.Open "SELECT * FROM [Order Details]", sConn, adOpenStatic, adLockOptimistic
            
        'Persist the recordset to a new DOMDocument and store the record count.
        Dim oXML As New DOMDocument
        rs.Save oXML, adPersistXML
        nRecords = rs.RecordCount
        nFields = rs.Fields.Count
        rs.Close
          
        'Load the XSL (the workbook template with XSL directives) into a DOMDocument.
        Dim oXSL As New DOMDocument
        oXSL.Load sXSL
        
        'Transform the XML using the style sheet.
        Dim oResults As New DOMDocument
        oXML.transformNodeToObject oXSL, oResults
        
        If oXSL.parseError.errorCode <> 0 Then
            MsgBox "Parse Error: " & oResults.parseError.reason
        Else
           'Modify the ss:ExpandedRowCount attribute for the <table> node to
           'indicate the correct number of rows (count of records + 1 row for
           'the header + 1 row for the total).
            Dim oTable As MSXML2.IXMLDOMElement
            Set oTable = oResults.selectSingleNode("Workbook/Worksheet/Table")
            oTable.setAttribute "ss:ExpandedRowCount", nRecords + 2
    
            '***************************************
            'Save the results to a file.
            Open sOutXML For Output As #1
            Print #1, oResults.xml
            Close #1
    
            'Open the XML in Excel.
            Dim oExcel As Object
            Set oExcel = CreateObject("Excel.Application")
            oExcel.Workbooks.Open sOutXML
            oExcel.Visible = True
            oExcel.UserControl = True
            '***************************************
        End If
    					
    참고 필요한 경우 연결을 수정합니다 (Const sConn) 액세스 Northwind 샘플 올바른 설치 경로가 들어 있는 문자열 데이터베이스.
  4. 프로그램을 실행하려면 F5 키를 누릅니다.
  5. Form1에 단추를 클릭하십시오. 데이터를 주문 세부에서 만든 Excel 통합 문서 서식 Northwind 데이터베이스 테이블에 나타납니다.
이 샘플에서는 XML 스프레드시트 및 통합 컬렉션의 Open 메서드를 사용하여 새 통합 문서로 XML 열기 Excel을 자동화하는 생성합니다. 다른 방법은 사용자가 직접 XML 특정 셀 기존 워크시트에 삽입할 수 있습니다. 설명하기 위해 다음 별표로 사이에 포함된 코드를 바꿉니다:
        'Display the data in a workbook starting at cell B2.
        Dim oExcel As Object, oBook As Object
        Set oExcel = CreateObject("Excel.Application")
        Set oBook = oExcel.Workbooks.Add
        oBook.Worksheets(1).Range("B2").Resize(nRecords + 2, nFields + 1).Value(11) = _
            oResults.xml 'Note: xlRangeValueXMLSpreadsheet=11
        oExcel.Visible = True
        oExcel.UserControl = True
				
이 변경한 후 프로그램을 다시 실행합니다. 이 시간 참고, 첫 번째 워크시트의 B2 셀에서 시작하여 새 통합 문서를 XML 스프레드시트 데이터가 삽입됩니다. 하지만 셀 데이터 및 형식 범위에 적용되며 이 방법을 사용하면 특정 행, 열, 워크시트 및 통합 문서 설정이 이전되지 않습니다.

ASP를 사용하여 XML 유지 ADO 레코드 집합을 XML 스프레드시트로 변환

  1. 다음 코드를 메모장에 붙여 넣습니다. 사용자의 웹 서버에. 참고 기본 가상 루트 폴더에 있는 가상 루트 폴더의 ExcelXML.asp C:\inetpub\wwwroot 같이 코드를 저장하십시오.
    <%@ Language="vbscript"%>
    
    <%
    
        Const sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\program files\microsoft office\office10\samples\Northwind.mdb"
        Const sXSL = "C:\ExcelXML\Orders.xsl"
        
        Response.Buffer = True
    
        'Retrieve an ADO recordset of the Orders Detail table in Northwind.
        Dim rs, nRecords
        Set rs = CreateObject("ADODB.Recordset")
        rs.Open "SELECT * FROM [Order Details]", sConn, 3, 3
            
        'Persist the recordset to a new DOMDocument and store the record count.
        Dim oXML
        Set oXML = CreateObject("Microsoft.XMLDOM")
        rs.Save oXML, 1
        nRecords = rs.RecordCount
        rs.Close
          
        'Load the XSL (the workbook template with XSL directives) into a DOMDocument.
        Dim oXSL
        Set oXSL = CreateObject("Microsoft.XMLDOM")
        oXSL.Load sXSL
        
        'Transform the XML using the style sheet.
        Dim oResults
        Set oResults = CreateObject("Microsoft.XMLDOM")
        oXML.transformNodeToObject oXSL, oResults
        
        If oXSL.parseError.errorCode <> 0 Then
           Response.Write "Parse Error: " & oResults.parseError.reason
        Else
    
           'Modify the ss:ExpandedRowCount attribute for the <table> node in the XSL.
            Dim oTable
            Set oTable = oResults.selectSingleNode("Workbook/Worksheet/Table")
            oTable.setAttribute "ss:ExpandedRowCount", nRecords + 2
    
            'Return the resulting XML Spreadsheet for display in Excel.
            Response.ContentType = "application/vnd.ms-excel"
            Response.Charset = "ISO-8859-1"
            Response.Write oResults.XML
            Response.Flush
    
        End If
    
    %>
    					
    참고 필요한 경우 연결을 수정합니다 (Const sConn) 액세스 Northwind 샘플 올바른 설치 경로가 들어 있는 문자열 데이터베이스.

  2. Internet Explorer를 시작하고 http://YourWebServer 찾아보기/ExcelXML.asp, 여기서 YourWebServer 웹 서버의 이름입니다. 데이터를 주문 세부에서 만든 Excel 통합 문서 서식 Northwind 데이터베이스 테이블에 나타납니다.

추가 참고

다음 Excel 기능을 사용하여 XML 유지할 수 없습니다 스프레드시트 형식:
  • 차트
  • OLE 개체
  • 드로잉의 셰이프 또는 도형
  • VBA 프로젝트가
  • 그룹 및 윤곽

다운로드

XMLSpread.exe는 XML 스타일시트, Visual Basic 프로젝트 및 이 문서에서 설명하는 ASP 스크립트를 포함합니다. Microsoft 다운로드 센터에서 다음 파일을 다운로드 할 수 있습니다:
그림 축소그림 확대
Download
Download the Xmlsprd.exe package now.릴리스 날짜: 2001년 3월 27일

Microsoft 지원 파일을 다운로드하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
119591온라인 서비스로부터 Microsoft 지원 파일을 구하는 방법
Microsoft는 이 파일에 대한 바이러스를 검색합니다. Microsoft는 파일을 게시한 날짜에 사용할 수 있었던 최신 바이러스 검색 소프트웨어가 사용됩니다. 해당 파일을 무단으로 변경할 수 없는 보안이 향상된 서버에 보관됩니다.

참조

XML에서 ADO 레코드 집합을 저장하는 방법에 대한 자세한 내용은 서식을 내용은 다음 MSDN) Microsoft 개발자 네트워크 (웹 사이트를 참조하십시오.
http://msdn2.microsoft.com/en-us/library/ms681538.aspx
스트리밍 MIME 콘텐츠 Microsoft Office에 대한 자세한 내용은 Microsoft 기술 자료 문서를 보려면 다음 문서 번호를 응용 프로그램을 클릭합니다.
266263BUG: Word 2000과 Excel 2000 ASP 소스 MIME 형식을 스트림에 데이터를 사용할 때 표시
199841Excel IE에서 MIME 형식을 사용하여 ASP 표시하는 방법을 결과합니다
271572MIME 콘텐트 스트리밍 동안 Excel 통합 문서의 서식을 지정하는 방법을
307021Visual Basic .NET을 사용하여 Microsoft Excel 2002에서 XML 데이터를 전송하는 방법

속성

기술 자료: 285891 - 마지막 검토: 2007년 3월 19일 월요일 - 수정: 7.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Active Server Pages 4.0
  • Microsoft Visual Basic 6.0 Professional Edition
키워드:?
kbmt kbdownload kbhowto KB285891 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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