//jsPrint.html源代码<?xml version="1.0" encoding="gb2312"?>
<query queryid="97cc8498bd5904456937f9100bc3710188000" desc="绝情酷哥测试" formxsl="form_default.xsl">
<viewcols>
<col name="MAPPED_ENGAGE" desc="未知"/>
<col name="ENGAGE_TYPE" desc="类型"/>
<col name="ENGAGE_SEQ" desc="顺序"/>
</viewcols>
<querycols keycolname="DATA_ID" tablelist="TBL_FLOWDATAS">
<col name="MAPPED_ENGAGE" desc="test" viewtype="string">
</col><col name="ENGAGE_TYPE" desc="ddd" viewtype="string">
</col><col name="ENGAGE_SEQ" desc="787" viewtype="string">
</col><col name="ENGAGE_DT" viewtype="string">
</col></querycols>
<pageinfo>
<currentpage>1</currentpage>
 <pagecount>102</pagecount>
 <itemcountperpage>20</itemcountperpage>
 <totalcount>2022</totalcount>
 </pageinfo>
<rows>
<row DATA_ID="60003"><value>ddd</value><value>13</value><value>0</value></row>
<row DATA_ID="60004"><value>ddd</value><value>0</value><value>0</value></row>
<row DATA_ID="60005"><value>fdfe</value><value>4</value><value>0</value></row>
<row DATA_ID="60006"><value>rter</value><value>13</value><value>0</value></row>
<row DATA_ID="60007"><value>rt</value><value>0</value><value>0</value></row>
<row DATA_ID="60008"><value>rtr3</value><value>4</value><value>0</value></row>
<row DATA_ID="60009"><value>rt3r</value><value>13</value><value>0</value></row>
<row DATA_ID="50111"><value>ret3r</value><value>7</value><value>1</value></row>
<row DATA_ID="50112"><value>trefg</value><value>7</value><value>1</value></row>
<row DATA_ID="50113"><value>fref</value><value>7</value><value>1</value></row>
<row DATA_ID="50114"><value>ferf</value><value>7</value><value>1</value></row>
<row DATA_ID="50115"><value>gre</value><value>7</value><value>1</value></row>
<row DATA_ID="50116"><value>erg</value><value>7</value><value>1</value></row>
<row DATA_ID="50117"><value>ewrfe</value><value>7</value><value>1</value></row>
<row DATA_ID="50118"><value>3r2</value><value>7</value><value>1</value></row>
<row DATA_ID="50119"><value>ghth</value><value>7</value><value>2</value></row>
<row DATA_ID="50120"><value>r4t32</value><value>7</value><value>3</value></row>
<row DATA_ID="50121"><value>34t</value><value>7</value><value>3</value></row>
<row DATA_ID="50122"><value>ge</value><value>7</value><value>4</value></row>
<row DATA_ID="50123"><value>g4rtg45</value><value>7</value><value>5</value></row>
</rows>
</query>

解决方案 »

  1.   

    发错了,jsPrint.html源代码应该如下:<script language="javascript">
    function makeExcel(proceVisible,saveAsFilename){
    var xmlDoc;
    try{
    xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0"); //调用ActiveX XML插件
    }
    catch(e){
    alert("浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。 请点击【帮助】了解浏览器设置方法!");
    } xmlDoc.validateOnParse = false;
    xmlDoc.async = false;
    xmlDoc.load("D:/query/webapp/test.xml");  //装载XML文档,请自行更正XML文件存放路径 if (xmlDoc.parseError.errorCode != 0) {
        var myErr = xmlDoc.parseError;
        alert("You have error " + myErr.reason);
        return;
    }
    else {
    var myErr = xmlDoc.parseError;
    if (myErr.errorCode != 0) {
    alert("You have error " + myErr.reason);
    return;
    }
    } var  root = xmlDoc.documentElement; //文档的根结点
    var viewcols = xmlDoc.selectSingleNode("/query/viewcols");
    var col = 1;  //定义初始列
    var row = 1;  //定义初始行
    var nodelist = viewcols.getElementsByTagName("col"); try {
    var xls    = new ActiveXObject ("Excel.Application"); //调用ActiveX Excel插件
    }

        catch(e) {
    alert( "要打印该表,您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。 请点击【帮助】了解浏览器设置方法!");
    return;
        }

    if (typeof(proceVisible)=="undefined"){
    xls.visible = true;
    }

    else{
    if (proceVisible=="true"){
    xls.visible = true;
    }
    else{
    xls.visible = false;
    }
    }

    var xlBook = xls.Workbooks.Add;
        var xlsheet = xlBook.Worksheets(1);
        //xls.Cells.Select;
        //xls.Selection.NumberFormatLocal = "@";
    for (var i=0;i<nodelist.length ;i++){
    var node = nodelist.item(i);
    var colValue;
    if(node.getAttribute("desc")==null || node.getAttribute("desc")==""){ 
    colValue = node.getAttribute("name");
    }
    else{
    colValue = node.getAttribute("desc");
    }
    xlsheet.Cells(row, col).Value = colValue;
    col++;
    }
        row++;
        nodelist = root.getElementsByTagName("row");
    for (var i=0;i<nodelist.length ;i++){
    var node = nodelist.item(i);
    var col2 = 1;
    var values = node.getElementsByTagName("value");
    for (var j=0;j<values.length ;j++){
    var value = values.item(j).text;
        xlsheet.Cells(row, col2).Value = value;
         col2++;
    }
    row++;
    }

    if (saveAsFilename=="" || typeof(saveAsFilename)=="undefined"){
    var fname = xls.Application.GetsaveAsFilename("*.xls", "Excel Spreadsheets (*.xls), *.xls");
    if (fname!=""){
    xlBook.SaveAs(fname);
    }
    }
    else{
    xlBook.SaveAs(saveAsFilename);
    }

        xlBook.Close(savechanges=false);
        xls.visible = false;
        xls.Quit();
        xls=null;
        //结束excel进程,退出完成
        window.setInterval("Cleanup();",1);
        
    }
    </script>
    <input type="button" name="print" value="打印" OnClick="makeExcel('true','test')">