2014년 8월 7일 목요일

[예제]MDB(Access) 파일을 읽어 XML을 만든 후 XSL을 이용하여 변환 후 이를 Excel에 출력/Excel 실행 예제[닷넷C#교육/ADO.NET강좌/ASP.NET교육잘하는곳/C#,ASP.NET교육추천/닷넷실무교육/.NET,C#/ADO.NET교육/닷넷학원/ASP.NET실무교육]

제목 그대로 입니다. northwind.mdb에 있는 customer라는 테이블의 내용을 읽어 메모리에 올린 후 이를 DataSet으로만들고 다시 이것을 XML 문서(customrt.xml)로 만든 후 미리 만들어 놓은 customer.xsl을 이용하여 변환 하여 이를 Excel 파일을 통해 출력하는 예제 입니다. 

XSL에 관련된 사항은 XML 강좌를 통해 공부 하도록 하세요~ 

실행전에 있어야 되는 파일은 northwind.mdb 와 customer.xsl 파일 입니다. northwind.mdb는 MS Access가 설치 되곳이면 아마 있을겁니다. 찾기로 해서 찾아 보세요... 


-------------------------------------- 
customer.xsl 파일은 다음과 같습니다. 
-------------------------------------- 
<?xml version="1.0" encoding="utf-8" ?> 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 

  <xsl:template match="/"> 

    <HTML> 

      <HEAD> 

        <STYLE> 

          .HDR { background-color:bisque;font-weight:bold } 

          .BDR { background-color:lightskyblue;font-weight:bold } 

        </STYLE> 

      </HEAD> 

      <BODY> 

        <TABLE> 

          <COLGROUP WIDTH="150" ALIGN="CENTER"></COLGROUP> 

          <COLGROUP WIDTH="200" ALIGN="LEFT"></COLGROUP> 

          <COLGROUP WIDTH="200" ALIGN="LEFT"></COLGROUP> 

          <COLGROUP WIDTH="100" ALIGN="LEFT"></COLGROUP> 

          <COLGROUP WIDTH="150" ALIGN="LEFT"></COLGROUP> 

          <TD CLASS="HDR">Customer ID</TD> 

          <TD CLASS="HDR">Company</TD> 

          <TD CLASS="HDR">Contact</TD> 

          <TD CLASS="HDR">Country</TD> 

          <TD CLASS="HDR">Phone</TD> 

          <xsl:for-each select="NewDataSet/Table"> 

            <TR> 

              <TD CLASS="BDR"><xsl:value-of select="CustomerID"/></TD> 

              <TD><xsl:value-of select="CompanyName"/></TD> 

              <TD><xsl:value-of select="ContactName"/></TD> 

              <TD><xsl:value-of select="Country"/></TD> 

              <TD><xsl:value-of select="Phone"/></TD> 

            </TR> 

          </xsl:for-each> 

        </TABLE> 

      </BODY> 

    </HTML> 

  </xsl:template> 

</xsl:stylesheet> 


--------------------------------------------------- 
실행 후 만들어 지는 customer.xml은 다음과 같습니다. 
--------------------------------------------------- 
<HTML><HEAD><STYLE> 

          .HDR { background-color:bisque;font-weight:bold } 

          .BDR { background-color:lightskyblue;font-weight:bold } 

        </STYLE></HEAD><BODY><TABLE><COLGROUP WIDTH="150" ALIGN="CENTER"></COLGROUP><COLGROUP WIDTH="200" ALIGN="LEFT"></COLGROUP><COLGROUP WIDTH="200" ALIGN="LEFT"></COLGROUP><COLGROUP WIDTH="100" ALIGN="LEFT"></COLGROUP><COLGROUP WIDTH="150" ALIGN="LEFT"></COLGROUP><TD CLASS="HDR">Customer ID</TD><TD CLASS="HDR">Company</TD><TD CLASS="HDR">Contact</TD><TD CLASS="HDR">Country</TD><TD CLASS="HDR">Phone</TD><TR><TD CLASS="BDR">ALFKI</TD><TD>신영상사 ㈜</TD><TD>한석규</TD><TD>대한민국</TD><TD>(051)575-5776</TD></TR><TR><TD CLASS="BDR">ANATR</TD><TD>원창 ㈜</TD><TD>황영순</TD><TD>대한민국</TD><TD>(02)681-6889</TD></TR><TR><TD CLASS="BDR">ANTON</TD><TD>동광 통상 ㈜</TD><TD>조자룡</TD><TD>대한민국</TD><TD>(02)989-9889</TD></TR><TR><TD CLASS="BDR">AROUT</TD><TD>경성 트레이딩 ㈜</TD><TD>구재석</TD><TD>대한민국</TD><TD>(031)76-4568</TD></TR><TR><TD CLASS="BDR">BERGS</TD><TD>정금 상사 ㈜</TD><TD>최영희</TD><TD>대한민국</TD><TD>(041)92-3778</TD></TR><TR><TD CLASS="BDR">BLAUS</TD><TD>협우 상사 ㈜</TD><TD>손미선</TD><TD>대한민국</TD><TD>(02)211-1234</TD></TR><TR><TD CLASS="BDR">BLONP</TD><TD>베네디스 유통 ㈜</TD><TD>장선희</TD><TD>대한민국</TD><TD>(02)111-2954</TD></TR><TR><TD CLASS="BDR">BOLID</TD><TD>삼화 상사 ㈜</TD><TD>정영일</TD><TD>대한민국</TD><TD>(051)4-1945</TD></TR><TR><TD CLASS="BDR">BONAP</TD><TD>서주 무역 ㈜</TD><TD>문익한</TD><TD>대한민국</TD><TD>(02)497-4896</TD></TR><TR><TD CLASS="BDR">BOTTM</TD><TD>태강 교역 ㈜</TD><TD>문흥미</TD><TD>대한민국</TD><TD>(051)45-9483</TD></TR><TR><TD CLASS="BDR">BSBEV</TD><TD>월드 링크 ㈜</TD><TD>이강주</TD><TD>대한민국</TD><TD>(051)342-3333</TD></TR><TR><TD CLASS="BDR">CACTU</TD><TD>혜성 백화점 ㈜</TD><TD>박광준</TD><TD>대한민국</TD><TD>(02)43-4486</TD></TR><TR><TD CLASS="BDR">CENTC</TD><TD>진주 백화점 ㈜</TD><TD>홍성주</TD><TD>대한민국</TD><TD>(031)44-3687</TD></TR><TR><TD CLASS="BDR">CHOPS</TD><TD>동남 상사 ㈜</TD><TD>강태준</TD><TD>대한민국</TD><TD>(02)134-5897</TD></TR><TR><TD CLASS="BDR">COMMI</TD><TD>대진 상사 ㈜</TD><TD>천용만</TD><TD>대한민국</TD><TD>(02)878-9174</TD></TR><TR><TD CLASS="BDR">CONSH</TD><TD>ITM ㈜</TD><TD>남궁익선</TD><TD>대한민국</TD><TD>(02)489-9184</TD></TR><TR><TD CLASS="BDR">DRACD</TD><TD>극동 무역 ㈜</TD><TD>강민수</TD><TD>대한민국</TD><TD>(02)978-1984</TD></TR><TR><TD CLASS="BDR">DUMON</TD><TD>양정 물산 ㈜</TD><TD>주진국</TD><TD>대한민국</TD><TD>(02)444-2971</TD></TR><TR><TD CLASS="BDR">EASTC</TD><TD>성신 교역 ㈜</TD><TD>성병재</TD><TD>대한민국</TD><TD>(041)487-4971</TD></TR><TR><TD CLASS="BDR">ERNSH</TD><TD>신세계 통상 ㈜</TD><TD>강세라</TD><TD>대한민국</TD><TD>(031)21-9284</TD></TR><TR><TD CLASS="BDR">FAMIA</TD><TD>삼일 ㈜</TD><TD>손미순</TD><TD>대한민국</TD><TD>(02)866-6667</TD></TR><TR><TD CLASS="BDR">FISSA</TD><TD>세주 상사 ㈜</TD><TD>유영주</TD><TD>대한민국</TD><TD>(041)33-3433</TD></TR><TR><TD CLASS="BDR">FOLIG</TD><TD>한일 상사 ㈜</TD><TD>강판석</TD><TD>대한민국</TD><TD>(02)211-3421</TD></TR><TR><TD CLASS="BDR">FOLKO</TD><TD>유미 백화점 ㈜</TD><TD>최재경</TD><TD>대한민국</TD><TD>(02)768-7688</TD></TR><TR><TD CLASS="BDR">FRANK</TD><TD>진흥 ㈜</TD><TD>성현아</TD><TD>대한민국</TD><TD>(02)123-0345</TD></TR><TR><TD CLASS="BDR">FRANR</TD><TD>미림 백화점 ㈜</TD><TD>이혜준</TD><TD>대한민국</TD><TD>(031)56-2091</TD></TR><TR><TD CLASS="BDR">FRANS</TD><TD>한미 교역 ㈜</TD><TD>정영순</TD><TD>대한민국</TD><TD>(02)211-2221</TD></TR><TR><TD CLASS="BDR">FURIB</TD><TD>오성 통상 ㈜</TD><TD>오민수</TD><TD>대한민국</TD><TD>(02)421-9238</TD></TR><TR><TD CLASS="BDR">GALED</TD><TD>광성 교역 ㈜</TD><TD>김혜린</TD><TD>대한민국</TD><TD>(02)892-4921</TD></TR><TR><TD CLASS="BDR">GODOS</TD><TD>한미 식품 ㈜</TD><TD>김윤중</TD><TD>대한민국</TD><TD>(02)545-8911</TD></TR><TR><TD CLASS="BDR">GOURL</TD><TD>동양 무역 ㈜</TD><TD>한빈</TD><TD>대한민국</TD><TD>(031)77-7778</TD></TR><TR><TD CLASS="BDR">GREAL</TD><TD>캘리포니아 ㈜</TD><TD>황보영국</TD><TD>대한민국</TD><TD>(02)676-6766</TD></TR><TR><TD CLASS="BDR">GROSR</TD><TD>동성 직배 ㈜</TD><TD>마창진</TD><TD>대한민국</TD><TD>(02)111-2302</TD></TR><TR><TD CLASS="BDR">HANAR</TD><TD>YH 무역 ㈜</TD><TD>유영철</TD><TD>대한민국</TD><TD>(041)110-2181</TD></TR><TR><TD CLASS="BDR">HILAA</TD><TD>칠성 상사 ㈜</TD><TD>이한일</TD><TD>대한민국</TD><TD>(0361)39-1243</TD></TR><TR><TD CLASS="BDR">HUNGC</TD><TD>아성 교역 ㈜</TD><TD>김애란</TD><TD>대한민국</TD><TD>(02)444-1978</TD></TR><TR><TD CLASS="BDR">HUNGO</TD><TD>샤론 통상 ㈜</TD><TD>노소연</TD><TD>대한민국</TD><TD>(051)20-1993</TD></TR><TR><TD CLASS="BDR">ISLAT</TD><TD>글로리아 백화점 ㈜</TD><TD>황길호</TD><TD>대한민국</TD><TD>(02)113-1111</TD></TR><TR><TD CLASS="BDR">KOENE</TD><TD>신세기 상사 ㈜</TD><TD>강경식</TD><TD>대한민국</TD><TD>(031)46-4565</TD></TR><TR><TD CLASS="BDR">LACOR</TD><TD>세준 통상 ㈜</TD><TD>신민경</TD><TD>대한민국</TD><TD>(02)123-7981</TD></TR><TR><TD CLASS="BDR">LAMAI</TD><TD>조선 무역 ㈜</TD><TD>이대욱</TD><TD>대한민국</TD><TD>(041)91-1295</TD></TR><TR><TD CLASS="BDR">LAUGB</TD><TD>성화 식품 ㈜</TD><TD>정영진</TD><TD>대한민국</TD><TD>(02)894-1111</TD></TR><TR><TD CLASS="BDR">LAZYK</TD><TD>한성 백화점 ㈜</TD><TD>강현수</TD><TD>대한민국</TD><TD>(031)78-1911</TD></TR><TR><TD CLASS="BDR">LEHMS</TD><TD>동방 무역 ㈜</TD><TD>최한기</TD><TD>대한민국</TD><TD>(02)999-9938</TD></TR><TR><TD CLASS="BDR">LETSS</TD><TD>대광 상사 ㈜</TD><TD>민병철</TD><TD>대한민국</TD><TD>(031)66-2911</TD></TR><TR><TD CLASS="BDR">LILAS</TD><TD>경동 무역 ㈜</TD><TD>임홍삼</TD><TD>대한민국</TD><TD>(02)232-9181</TD></TR><TR><TD CLASS="BDR">LINOD</TD><TD>흑진주 백화점 ㈜</TD><TD>황규하</TD><TD>대한민국</TD><TD>(02)668-1097</TD></TR><TR><TD CLASS="BDR">LONEP</TD><TD>개성 트레이딩 ㈜</TD><TD>마은성</TD><TD>대한민국</TD><TD>(031)78-1110</TD></TR><TR><TD CLASS="BDR">MAGAA</TD><TD>성진 인터내셔널 ㈜</TD><TD>이성화</TD><TD>대한민국</TD><TD>(02)890-1109</TD></TR><TR><TD CLASS="BDR">MAISD</TD><TD>HQ 무역 ㈜</TD><TD>이영애</TD><TD>대한민국</TD><TD>(031)89-1098</TD></TR><TR><TD CLASS="BDR">MEREP</TD><TD>장미 백화점 ㈜</TD><TD>정보진</TD><TD>대한민국</TD><TD>(06113450-3400</TD></TR><TR><TD CLASS="BDR">MORGK</TD><TD>신천지 통상 ㈜</TD><TD>서예희</TD><TD>대한민국</TD><TD>(02)402-1092</TD></TR><TR><TD CLASS="BDR">NORTS</TD><TD>아틀란티스 통상 ㈜</TD><TD>우순하</TD><TD>대한민국</TD><TD>(02)901-8956</TD></TR><TR><TD CLASS="BDR">OCEAN</TD><TD>새롬 교역 ㈜</TD><TD>서한성</TD><TD>대한민국</TD><TD>(02)907-1884</TD></TR><TR><TD CLASS="BDR">OLDWO</TD><TD>우주 상사 ㈜</TD><TD>배준호</TD><TD>대한민국</TD><TD>(02)774-1290</TD></TR><TR><TD CLASS="BDR">OTTIK</TD><TD>삼선 무역 ㈜</TD><TD>구재석</TD><TD>대한민국</TD><TD>(031)88-1039</TD></TR><TR><TD CLASS="BDR">PARIS</TD><TD>평화 상사 ㈜</TD><TD>김필순</TD><TD>대한민국</TD><TD>(02)109-2094</TD></TR><TR><TD CLASS="BDR">PERIC</TD><TD>동도 교역 ㈜</TD><TD>하사헌</TD><TD>대한민국</TD><TD>(051)12-1122</TD></TR><TR><TD CLASS="BDR">PICCO</TD><TD>TGIF ㈜</TD><TD>임정빈</TD><TD>대한민국</TD><TD>(02)100--1000</TD></TR><TR><TD CLASS="BDR">PRINI</TD><TD>동신 상사 ㈜</TD><TD>최춘실</TD><TD>대한민국</TD><TD>(061)145-1895</TD></TR><TR><TD CLASS="BDR">QUEDE</TD><TD>게이트웨이 통상 ㈜</TD><TD>전준호</TD><TD>대한민국</TD><TD>(042)45-1093</TD></TR><TR><TD CLASS="BDR">QUEEN</TD><TD>사하라 통상 ㈜</TD><TD>정가진</TD><TD>대한민국</TD><TD>(02)764-7644</TD></TR><TR><TD CLASS="BDR">QUICK</TD><TD>미성 백화점 ㈜</TD><TD>호혜경</TD><TD>대한민국</TD><TD>(031)44-1114</TD></TR><TR><TD CLASS="BDR">RANCH</TD><TD>스타 상사 ㈜</TD><TD>황영남</TD><TD>대한민국</TD><TD>(02)342-1111</TD></TR><TR><TD CLASS="BDR">RATTC</TD><TD>금강 ㈜</TD><TD>장미자</TD><TD>대한민국</TD><TD>(02)565-1901</TD></TR><TR><TD CLASS="BDR">REGGC</TD><TD>정문 상사 ㈜</TD><TD>김완순</TD><TD>대한민국</TD><TD>(02)903-1908</TD></TR><TR><TD CLASS="BDR">RICAR</TD><TD>크리스탈 교역 ㈜</TD><TD>김찬진</TD><TD>대한민국</TD><TD>(031)45-1932</TD></TR><TR><TD CLASS="BDR">RICSU</TD><TD>한남 상사 ㈜</TD><TD>서태진</TD><TD>대한민국</TD><TD>(02)712-8931</TD></TR><TR><TD CLASS="BDR">ROMEY</TD><TD>백조 백화점 ㈜</TD><TD>안재혁</TD><TD>대한민국</TD><TD>(031)56-9859</TD></TR><TR><TD CLASS="BDR">SANTG</TD><TD>태흥 무역 ㈜</TD><TD>김종설</TD><TD>대한민국</TD><TD>(02)108-1298</TD></TR><TR><TD CLASS="BDR">SAVEA</TD><TD>알프스 무역 ㈜</TD><TD>조규현</TD><TD>대한민국</TD><TD>(061)77-2091</TD></TR><TR><TD CLASS="BDR">SEVES</TD><TD>엘르 ㈜</TD><TD>김명석</TD><TD>대한민국</TD><TD>(02)106-2841</TD></TR><TR><TD CLASS="BDR">SIMOB</TD><TD>은성 상사 ㈜</TD><TD>허청일</TD><TD>대한민국</TD><TD>(031)56-1431</TD></TR><TR><TD CLASS="BDR">SPECD</TD><TD>대성 교역 ㈜</TD><TD>황영신</TD><TD>대한민국</TD><TD>(02)184-1484</TD></TR><TR><TD CLASS="BDR">SPLIR</TD><TD>세일 상사 ㈜</TD><TD>김재균</TD><TD>대한민국</TD><TD>(031)11-9438</TD></TR><TR><TD CLASS="BDR">SUPRD</TD><TD>삼양 상사 ㈜</TD><TD>감성동</TD><TD>대한민국</TD><TD>(02)34-1984</TD></TR><TR><TD CLASS="BDR">THEBI</TD><TD>신성 식품 ㈜</TD><TD>김혜령</TD><TD>대한민국</TD><TD>(031)45-1846</TD></TR><TR><TD CLASS="BDR">THECR</TD><TD>몽블랑 백화점 ㈜</TD><TD>박찬희</TD><TD>대한민국</TD><TD>(02)954-1397</TD></TR><TR><TD CLASS="BDR">TOMSP</TD><TD>산타페 ㈜</TD><TD>박영아</TD><TD>대한민국</TD><TD>(031)110-1238</TD></TR><TR><TD CLASS="BDR">TORTU</TD><TD>한진 교역 ㈜</TD><TD>박민희</TD><TD>대한민국</TD><TD>(02)555-2933</TD></TR><TR><TD CLASS="BDR">TRADH</TD><TD>국제 무역 ㈜</TD><TD>심영국</TD><TD>대한민국</TD><TD>(02)345-1945</TD></TR><TR><TD CLASS="BDR">TRAIH</TD><TD>삼영 식품 ㈜</TD><TD>배한석</TD><TD>대한민국</TD><TD>(02)31-0345</TD></TR><TR><TD CLASS="BDR">VAFFE</TD><TD>천지 교역 ㈜</TD><TD>한민정</TD><TD>대한민국</TD><TD>(02)456-5667</TD></TR><TR><TD CLASS="BDR">VICTE</TD><TD>삼왕 통상 ㈜</TD><TD>최지한</TD><TD>대한민국</TD><TD>(031)58-1984</TD></TR><TR><TD CLASS="BDR">VINET</TD><TD>해바라기 백화점 ㈜</TD><TD>채송아</TD><TD>대한민국</TD><TD>(02)222-2243</TD></TR><TR><TD CLASS="BDR">WANDK</TD><TD>언더우드 상사 ㈜</TD><TD>정승화</TD><TD>대한민국</TD><TD>(02)132-3845</TD></TR><TR><TD CLASS="BDR">WARTH</TD><TD>이화 무역 ㈜</TD><TD>홍현아</TD><TD>대한민국</TD><TD>(031)57-1934</TD></TR><TR><TD CLASS="BDR">WELLI</TD><TD>금화 유통 ㈜</TD><TD>강미란</TD><TD>대한민국</TD><TD>(051)555-5111</TD></TR><TR><TD CLASS="BDR">WHITC</TD><TD>신흥 교역 ㈜</TD><TD>천동석</TD><TD>대한민국</TD><TD>(02)222-1113</TD></TR><TR><TD CLASS="BDR">WILMK</TD><TD>미주 상사 ㈜</TD><TD>박춘심</TD><TD>대한민국</TD><TD>(02)112-4864</TD></TR><TR><TD CLASS="BDR">WOLZA</TD><TD>프랑소아 백화점 ㈜</TD><TD>이화란</TD><TD>대한민국</TD><TD>(061)643-2871</TD></TR></TABLE></BODY></HTML> 


------------------------------------------------------------- 
실행 후 화면에 나타나는 Excel파일의 내용은  다음과 같습니다. 
------------------------------------------------------------- 
Customer ID        Company        Contact        Country        Phone 
ALFKI        신영상사 ㈜        한석규        대한민국        (051)575-5776 
ANATR        원창 ㈜        황영순        대한민국        (02)681-6889 
ANTON        동광 통상 ㈜        조자룡        대한민국        (02)989-9889 
AROUT        경성 트레이딩 ㈜        구재석        대한민국        (031)76-4568 
BERGS        정금 상사 ㈜        최영희        대한민국        (041)92-3778 
BLAUS        협우 상사 ㈜        손미선        대한민국        (02)211-1234 
BLONP        베네디스 유통 ㈜        장선희        대한민국        (02)111-2954 
BOLID        삼화 상사 ㈜        정영일        대한민국        (051)4-1945 
BONAP        서주 무역 ㈜        문익한        대한민국        (02)497-4896 
BOTTM        태강 교역 ㈜        문흥미        대한민국        (051)45-9483 
BSBEV        월드 링크 ㈜        이강주        대한민국        (051)342-3333 
CACTU        혜성 백화점 ㈜        박광준        대한민국        (02)43-4486 
CENTC        진주 백화점 ㈜        홍성주        대한민국        (031)44-3687 
CHOPS        동남 상사 ㈜        강태준        대한민국        (02)134-5897 
COMMI        대진 상사 ㈜        천용만        대한민국        (02)878-9174 
CONSH        ITM ㈜        남궁익선        대한민국        (02)489-9184 
DRACD        극동 무역 ㈜        강민수        대한민국        (02)978-1984 
DUMON        양정 물산 ㈜        주진국        대한민국        (02)444-2971 
EASTC        성신 교역 ㈜        성병재        대한민국        (041)487-4971 
................................ 
................................ 
................................ 


=========================== 
다음은 C# 소스 코드 입니다. 
=========================== 
using System; 
using System.Drawing; 
using System.Collections; 
using System.ComponentModel; 
using System.Windows.Forms; 
using System.Data; 
using System.Data.OleDb; 
using System.IO; 
using System.Xml; 
using Excel; 

namespace XMLExam 

        /// <summary> 
        /// Form1에 대한 요약 설명입니다. 
        /// </summary> 
        public class Form1 : System.Windows.Forms.Form 
        { 
                private System.Windows.Forms.Button button1; 
                /// <summary> 
                /// 필수 디자이너 변수입니다. 
                /// </summary> 
                private System.ComponentModel.Container components = null; 

                public Form1() 
                { 
                        // 
                        // Windows Form 디자이너 지원에 필요합니다. 
                        // 
                        InitializeComponent(); 

                        // 
                        // TODO: InitializeComponent를 호출한 다음 생성자 코드를 추가합니다. 
                        // 
                } 

                /// <summary> 
                /// 사용 중인 모든 리소스를 정리합니다. 
                /// </summary> 
                protected override void Dispose( bool disposing ) 
                { 
                        if( disposing ) 
                        { 
                                if (components != null) 
                                { 
                                        components.Dispose(); 
                                } 
                        } 
                        base.Dispose( disposing ); 
                } 

                #region Windows Form 디자이너에서 생성한 코드 
                /// <summary> 
                /// 디자이너 지원에 필요한 메서드입니다. 
                /// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오. 
                /// </summary> 
                private void InitializeComponent() 
                { 
                        this.button1 = new System.Windows.Forms.Button(); 
                        this.SuspendLayout(); 
                        // 
                        // button1 
                        // 
                        this.button1.Font = new System.Drawing.Font("굴림", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(129))); 
                        this.button1.Location = new System.Drawing.Point(8, 24); 
                        this.button1.Name = "button1"; 
                        this.button1.Size = new System.Drawing.Size(392, 88); 
                        this.button1.TabIndex = 0; 
                        this.button1.Text = "실행 전에 Customer.xsl 파일을 만들어야 합니다."; 
                        this.button1.Click += new System.EventHandler(this.button1_Click); 
                        // 
                        // Form1 
                        // 
                        this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); 
                        this.ClientSize = new System.Drawing.Size(416, 142); 
                        this.Controls.Add(this.button1); 
                        this.Name = "Form1"; 
                        this.Text = "Form1"; 
                        this.ResumeLayout(false); 

                } 
                #endregion 

                /// <summary> 
                /// 해당 응용 프로그램의 주 진입점입니다. 
                /// </summary> 
                [STAThread] 
                static void Main() 
                { 
                        System.Windows.Forms.Application.Run(new Form1()); 
                } 

                //버튼을 클릭하는 순간에 mdb(NorthWind.mdb) 파일을 읽어 DataSet에 넣은 후 
                //DataSet의 내용을 Customer.xml 파일로 만들어 Customer.xsl 파일을 통해 필터링해 
                //Customer.xsl 파일을 만든다. 
                // 이러한 처리의 장점은 xsl을 여러 개 만들어 넣음으로서 다양한 형태의 구사가 가능하며 
                // 만들어진 xml 파일은 브라우저를 통해 필터링 되기 전/후의 모습을 직접 확인 가능 합니다. 
                private void button1_Click(object sender, System.EventArgs e) 
                { 
                        OleDbConnection objConn = null; 
                        try 
                        { 
                                string strConn ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Northwind.mdb"; 
                                objConn = new OleDbConnection (strConn); 
                                objConn.Open();        
                                string SQL="Select CustomerID, CompanyName, ContactName, Country, Phone from Customers"; 
                                OleDbCommand objCmd = new OleDbCommand(SQL, objConn); 
                                OleDbDataAdapter objAdapter = new OleDbDataAdapter(); 
                                objAdapter.SelectCommand = objCmd; 
                                DataSet objDataset = new DataSet(); 
                                //DataSet을 만든다. 현재 DataSet에는 Customers Table의 내용이 있다. 
                                objAdapter.Fill(objDataset);  

                                string strPath="Customer.xml"; 
                                FileStream fs = new FileStream(strPath, System.IO.FileMode.Create);          
                                XmlTextWriter xtw = new XmlTextWriter(fs, System.Text.Encoding.Unicode); 

                                //메모리에 존재 하는 DataSet을 이용하여 Customer.xml 파일을 만들자. 
                                XmlDataDocument xmlDoc = new XmlDataDocument(objDataset); 
                                System.Xml.Xsl.XslTransform xslTran = new System.Xml.Xsl.XslTransform(); 
                                xslTran.Load("Customer.xsl"); 

                                //XML 문서를 변환기 파일(XSL)을 통해 XMLTextWriter에 의해 인코딩 형식에 맞게 
                                //변환 합니다.                                
                                xslTran.Transform(xmlDoc, null, xtw); 

                                Excel.Application oExcel = new Excel.Application(); 
                                oExcel.Visible=true; 
                                oExcel.UserControl=true; 
                                Excel.Workbooks oBooks = oExcel.Workbooks; 
  
                                //변환된 XML을 이용하여 엑셀 파일을 작성 
                                object oOpt = System.Reflection.Missing.Value; 
                                oBooks.Open( @"D:\강의자료\울산\예제\C#\C#(2)\ADO\ADOandXML(3)\XMLExam\XMLExam\bin\Debug\Customer.xml" 
                                        ,oOpt,oOpt,oOpt,oOpt,oOpt 
                                        ,oOpt,oOpt,oOpt,oOpt,oOpt 
                                        ,oOpt,oOpt,oOpt,oOpt); 
                        } 
                        catch(Exception ex) 
                        { 
                                MessageBox.Show(ex.ToString()); 
                        } 
                        finally 
                        { 
                                objConn.Close(); 
                        } 
                } 
        } 






평일주간[100%환급과정]
(8/11)SQL기초에서 Schema Object까지
(8/18)Spring,MyBatis,Hibernate실무과정
(8/18)자바기초JDBC,Servlet/JSP까지
(8/18)PL/SQL,ORACLE HINT,TUNING
(8/25)C#4.0,WinForm,ADO.NET
(8/25)안드로이드개발자과정
(8/25)오라클자바채용확정교육
평일야간[개인80%환급]
(8/11)SQL기초에서실무까지
(8/11)안드로이드개발자과정
(8/12)Spring, MyBatis, Hibernate
(8/13)C#,Network,ADO.NET,ASP.NET
(8/13)HTML5,CSS3,Ajax,jQuery마스터
(8/28)자바JSP,jQuery,Spring,MyBatis
주말주간[개인80%환급]
(8/09)SQL기초에서실무까지
(8/09)안드로이드개발자과정
(8/09)자바JSP,Ajax,jQuery,Spring,MyBatis
(8/16)C#,ASP.NET마스터(8/16)웹퍼블리싱 마스터
(8/16)Spring, MyBatis, Hibernate
(8/23)JAVA,Network&WEB&Framework
주말야간[개인80%환급]
(8/09)SQL기초에서실무까지
(8/23)JAVA,Network&WEB&Framework

댓글 없음:

댓글 쓰기