JavaScript處理Excel

 

 
function Print()
{
    //初始化xmlDoc, 及Excel.Application
    InitApp()
    
    //初始化表格頭部
    strHead = "地區|SIID|SI名稱|學校ID|學校名稱|使用用戶數|計費用戶數|學校下行流量|每計費數|每使數" ;
    InitHead(strHead,xlsheet)
    
    //填充表格
    for (i=0;i<nodes.length ;i++ ){
        for (j=0;j<nodes[i].childNodes.length ;j++)
        {
            xlsheet.Cells(i+2,j+1).Value= nodes(i).childNodes(j).text ;
        }
    }
    
    //格式化表格
    FormatRangeLine(nodes.length+1,strHead.split("|").length) ; 
    
    //退出
    Quit()
    return false;
}
 
/*************************Excel.js **************************************/
 
var    xmlDoc        //xml對象
var nodes            //數據節點
var xls                  //Excle對象
var xlBook       //工作博對象
var xlsheet          //工作表
var strHead        //工作表頭
 
//初始化應用程序
function InitApp()
{
    try {
        
        xmlDoc = new   ActiveXObject("Microsoft.XMLDOM") 
        xmlDoc.async="false" 
        xmlDoc.load(document.getElementById("xmlData")) 
        nodes=xmlDoc.documentElement.childNodes
    }
    catch(e) {
        alert( "要打印該表,您的瀏覽器須使用“ActiveX 控件”,您的瀏覽器須允許執行控件。 請點擊【幫助】瞭解瀏覽器設置方法!");
        return false;
    }
    
    try {
        xls   = new ActiveXObject("Excel.Application" );
    }
    catch(e) {
        alert( "要打印該表,您必須安裝Excel電子表格軟件,同時瀏覽器須使用“ActiveX 控件”,您的瀏覽器須允許執行控件。 請點擊【幫助】瞭解瀏覽器設置方法!");
        return false;
    }
    xlBook = xls.Workbooks.Add;
    xlsheet = xlBook.Worksheets(1);
    xls.visible = true;
}
 
//初始化表頭
function InitHead(strHead,xlsheet)
{
    var ArrayHead = strHead.split("|");
    for(var i=0;i<ArrayHead.length;i++)
    {
        xlsheet.Cells(1,i+1).Value = ArrayHead[i] ;
        xlsheet.Cells(1,i+1).Interior.ColorIndex = 35;
        xlsheet.Cells(1,i+1).Font.Bold = true;
        xlsheet.Columns(i+1).NumberFormatLocal = "@" ;
        xlsheet.Columns(i+1).HorizontalAlignment = -4152 ;
    }
}
 
//格式化有數據的單元格        
function FormatRangeLine(ros,cons)
{
    var m_range = xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(ros,cons))
    for(var i=7;i<13;i++)
    {
        m_range.Borders(i).LineStyle = 1 ;
        m_range.Borders(i).Weight = 2    ;    
        m_range.Borders(i).ColorIndex = -4105    ;
    }
    xlsheet.Columns.AutoFit;
}
 
 
//釋放控件
function Quit()
{
    xls.UserControl = true ;
    xls=null;
    xlBook=null;
    xlsheet=null; 
}
 
/**************End*********************************/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章