	/**
	* *********************************************??******************************************
	*                                                                                          *
	* ??????                                                                              *
	* ???2004-7-14 10:00:00~2004-7-14 14:14:00                                               *
	* ?????????????Excel???????  SavaDataToExcel??????????????    *
	*       ??????????(CLSID:010F75F5-A3B0-4711-92F9-83EFD4FAA458)????????      *
	*       MS Excel??                                                                        *
	* ??:1.1.0.0                                                                              *
	*********************************************************************************************
	*                                                                                           *
	*********************************************************************************************
	**/
	
	
	///<doc>
	///<summary>????????????Excel??</summary>
	///<example>
	///<c>
	///SavaDataToExcel("??????","???2004?","dataTable",new Array(ResSend,Rate))
	///</c>
	///</example>
	///<param name="Title" type="string">??Excel???????</param>
	///<param name="SecondTitle" type="string">??Excel????????</param>
	///<param name="DataTableID" type="string">????Excel???????ID?

	///????ID??????name???????????????????????null?

	///</param>		
	///<param name="ChartArray" type="array">????Excel??????ID???,????ID?????

	///??????????????????????????????<example>???array().</example>
	///</param>
	///<return>???????</return>	
	///</doc>	
	function SavaDataToExcel1(Title,SecondTitle,DataTableID,ChartArray)
 	{
	 	var name = document.getElementById(DataTableID);
		xlApp = new ActiveXObject("EXCEL.APPLICATION");
  		var oWB = xlApp.Workbooks.Add();
  		var xlsheet = oWB.Sheets.Add;// '??????? 
  		//var oSheet = oWB.ActiveSheet;
  		//xlsheet.Columns(1).ColumnWidth = 500;  
  		var sel=document.body.createTextRange();
  		sel.moveToElementText(name);
  		sel.select();
  		sel.execCommand("Copy");
  		xlsheet.Paste();
  		xlApp.Visible = true;
 	}
	function SavaDataToExcel(Title,SecondTitle,DataTableID,ChartArray)
	{	
	    var NS = (document.layers) ? true : false;
		var IE = (document.all) ? true : false;
		var ns6 = document.getElementById && !document.all;
				
		if(NS || ns6){
			window.print();
			return;
		}
		
		if(DataTableID!=undefined || DataTableID!=null)
		{	
			var DataRowCount=0;
		    var table=new DataTable(DataTableID);		
		    var colcount=table.ColCount;
		    DataRowCount=table.RowCount;		
		    table.SaveDataToClipboard();
		    
		    		
			var xlApp;			
			try
			{
				xlApp=new ActiveXObject("EXCEL.APPLICATION");
			}
			catch(exception)
			{
				alert("???????????????????????IE?????????");
				return false;
			}
			
			xlApp.DisplayAlerts = false;
			var xlBook = xlApp.Workbooks.Add();
			xlBook.Windows(1).DisplayGridlines= false;
			var xlSheet1 = xlBook.Worksheets(1);
			
		    //?????????????

		    xlSheet1.range(xlSheet1.cells(1,2),xlSheet1.cells(1,colcount+1)).merge();
		    xlSheet1.Cells(1,2).value=Title;
		    xlSheet1.cells(1,2).font.bold=true;
		    xlSheet1.cells(1,2).HorizontalAlignment=3;   //??    		       
		   
		    var tableRange=xlSheet1.range(xlSheet1.cells(3,2),xlSheet1.cells(2+DataRowCount,colcount+1));
    		
    		//????????????????????Excel???????????????????

    		tableRange.NumberFormatLocal="@";
    		
		    
		    //????
		    xlSheet1.Cells(3,2).Select();
		    xlSheet1.Paste();
    		xlSheet1.Hyperlinks.Delete();
    		
    		//???????

		    for(i=1;i<colcount+1;i++)
		    {
			    xlSheet1.Columns(i+1).EntireColumn.AutoFit;			   
		    }
		    tableRange.Borders.LineStyle=1;
		    var subTitleRange=xlSheet1.range(xlSheet1.cells(2,2),xlSheet1.cells(2,colcount+1));
		    subTitleRange.Merge();		    
		    xlSheet1.Cells(2,2).value=SecondTitle;   //?????		 
			
			//??????
			if(ChartArray !=null){
				var ChartCount=ChartArray.length;		
				if( ChartCount>0)	
				{		
					for(i=0;i<ChartCount;i++)
					{			   
						ChartArray[i].ChartSave();							
						if( i==0)
						{
							xlSheet1.Cells(DataRowCount+4,2).Select();	
							xlSheet1.Paste();	
						}								
						else
						{ 
							xlSheet1.Select();
							xlSheet1.Paste() ; 		
							xlSheet1.Shapes(i+1).IncrementTop(275);
						}				
					}				
				}
			}
			window.clipboardData.clearData();
			xlSheet1.Application.Visible=true;
	    }
	}	
	
	
	
	
	///<summary>????????????</summary>
	///<example>var table=new DataTable("DataTable")</example>
	///<param name="DataTableID" type="string">??ID?</param>
	function DataTable(DataTableID)
	{
	    try
	    {
			//????????"table"
	        var table=document.getElementById(DataTableID);				//????id???????

	        if(table==undefined){
				table=document.getElementsByName(DataTableID);			//??name???????

	        }	       
	        var DataTable=table.cloneNode(true);						//??????????

	          
	       
	        var DataRowCount=DataTable.rows.length;                      //?????????

	        var firstLine=DataTable.rows(0);                        //????????
    	    
	        var tdCollection=firstLine.getElementsByTagName("td");    	    
	        var  colcount=0;	   
	        var i=0;	   
	        for( i=0; i<tdCollection.length;i++)
	        {	      
	            colcount=colcount+parseInt(tdCollection.item(i).getAttribute("colspan"));
	        }	        
	        
	        var alltd=DataTable.getElementsByTagName("td");
	        var alltdCount=alltd.length;
	        if(alltdCount<=5000)
	        {
				var row,cell;
				for(i=0 ; i< DataRowCount; i++){
					row=DataTable.rows(i);					
					for(j=0;j< row.cells.length ;j++){
						cell=row.cells(j);						
						cell.setAttribute("nowrap",true,1);						
					}	  
	            }
	                      
	        }	      
    	     //????

	        this.DataTable=DataTable;   //??????????
	        this.ColCount=colcount;     //??
	        this.RowCount=DataRowCount; //??
	        
	        //????
	        this.SaveDataToClipboard=SaveDataToClipboard;   //?????????????

	      }
	      catch(exception)
	      {
	        alert("????????");
	        return;
	      }
		
	
	    ///<summary>
	    ///DataTable????

	    ///?????????????

	    ///</summary>
	    function SaveDataToClipboard()
	    {
	        var tableStart="<table width=\"100%\" border=\"1\" cellpadding=\"0\" cellspacing=\"1\">";
	        var tableEnd="</table>"
	        var tableInnerHTML = this.DataTable.innerHTML 
	        var tableHTML=tableStart + processImageElement(tableInnerHTML) + tableEnd ;
	        window.clipboardData.clearData();	        
		    window.clipboardData.setData("Text", tableHTML);		   		    	
	    }
	    
	    function processImageElement(str){
			var str2;
			var imgRegExp=/<\s*img[^<]*alt\s*=\s*[\'\"]?([\S]*)[\'\"]?[^<]*>/img;			
			str2=str.replace(imgRegExp,"$1");			
			return 	str2;		
	    }   
	 
	 }
	
	
	
	
	
	
	//Author:liwl
	//Date:2004-7-15
	//???????????>500
	function checkPrintData(numberData){
		var numberData;		
		if(parseInt(numberData)>500){
			alert("????????500???????????!");
			return false;
		}
		return true;
	}
