제목 : XML 을 이용한 엑셀다운로드
    
    
        
            
                | 
                    글번호:
                 | 
                
                 | 
                
                    157
                 | 
            
            
                | 
                    작성자:
                 | 
                
                 | 
                
                    
                        최성춘
                        
                        
                    
                 | 
            
            
                | 
                    작성일:
                 | 
                
                 | 
                
                    
                        2007/04/16 오후 7:13:00 
                    
                 | 
            
            
            
                | 
                    조회수:
                 | 
                
                 | 
                
                    
                        8219
                    
                 | 
            
            
        
     
 
    
	
	
    
	
/// <summary>
        /// XSL을 이용한 Excel파일 다운로드
        /// </summary>
        /// <param name="ds">변환할 DataSet</param>
        /// <param name="sTemplateFileName">템플릿파일 경로</param>
        public static void SaveExcelByXSL(DataSet ds, string sTemplateFileName)
        {
            //임시 디렉토리의 모든 화일 삭제
            DirectoryInfo dInfo = new DirectoryInfo(System.Configuration.ConfigurationManager.AppSettings["Excel_VSaveDir"]);
            FileInfo[] fInfos = dInfo.GetFiles();
            foreach(FileInfo f in fInfos)
            {
                if(f.LastWriteTime.ToShortDateString() != DateTime.Now.ToShortDateString())
                    f.Delete();
            }
            //DOM 로딩
            XmlDataDocument doc = new XmlDataDocument(ds);
            XPathNavigator nav = doc.CreateNavigator();
            XslCompiledTransform xslt = new XslCompiledTransform();
            //xsl Template 파일 경로
            string sXslTemplateFullPath = System.Configuration.ConfigurationManager.AppSettings["Excel_TempDir"] + sTemplateFileName;
            
            //temp 파일명            
            string sFileName = String.Format("{0:yyyyMMddhhmmsss}", System.DateTime.Now);
            
            //temp 파일의 물리적 FullPath            
            string file = 
                System.Configuration.ConfigurationManager.AppSettings["Excel_VSaveDir"] 
                + sFileName + ".xls";
            //DataSet 을 Excel형식으로 변환
            xslt.Load(sXslTemplateFullPath);
            XmlTextWriter writer = new XmlTextWriter(file, Encoding.UTF8);
            xslt.Transform(nav, writer); 
            writer.Close(); 
            //다운로드
            string sVfileName = 
                System.Configuration.ConfigurationManager.AppSettings["Excel_VSaveURL"] + sFileName + ".xls";
            HttpContext.Current.Response.Redirect(sVfileName);
        }