书签 分享 收藏 举报 版权申诉 / 9

类型javascript导出excel.docx

  • 文档编号:6884623
  • 上传时间:2023-01-12
  • 格式:DOCX
  • 页数:9
  • 大小:20.12KB

--TABLE中的内容是JAVASCRIPT自动生成的-->

   

   

functiontableToExcel(){

 varrowNum=0;

 varoXL=newActiveXObject("Excel.Application");//创建应该对象

   varoWB=oXL.Workbooks.Add();//新建一个Excel工作簿

   varoSheet=oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表

  // vartable=pageId;

  // varrows=table.rows.length;

 // varcolSumCols=table.rows(0).cells.length;

  varbeginCol=0;

  // varcols=colSumCols;

   varrowSpans=1; //行合并

   varcolSpans=1; //列合并

   oXL.visible=true;

  oWB.Worksheets

(1).Range("B4:

D4:

F4").ColumnWidth=20; 

   /**********表头**********************/

   varexcRange=oSheet.Range(oSheet.Cells(1,1),oSheet.Cells(1,6));

   excRange.Merge(true);

   //获取型号等信息

   varexcelName="<%=session.getAttribute("excel")%>";

   excelName=chkrecName+"-"+excelName+"-技术参数";

   excRange.value=excelName;

   excRange.HorizontalAlignment=3;//'居中

   excRange.Font.Name="黑体";

   

   rowNum=rowNum+1;

   

   

   /****************结束结果设置******************/

   

   

   varobj1=document.getElementById('techTable');

   rowNum=resultToExcel(rowNum,obj1,oSheet,"");

   rowNum=rowNum+2;

   //增加提示,不可以编辑EXCEL的批注

   varexcRange2=oSheet.Range(oSheet.Cells(2,1),oSheet.Cells(2,6));

   excRange2.Merge(true);

   excRange2.value="提示:

务必不要编辑下面单元格中批注的内容!

否则将无法实现导入!

!

!

";

   excRange2.HorizontalAlignment=2;

   excRange2.Font.Name="宋体";

   excRange2.Font.Size=10;

   

   try{

   oWB.SaveAs("c:

\\"+excelName+".xls");

   oWB.Close;

   oXL.visible=false;

   oXL.Quit();

   alert("文件保存成功!

已保存到C:

\\"+excelName+".xls");

  }catch(e){

   alert("文件保存失败!

");

  }

   

}

functionresultToExcel(rowNum,obj,oSheet,tableTile){

 if(obj==null){

  returnrowNum;

 }

     varrows=obj.rows.length;

     varcolSumCols=obj.rows(0).cells.length;

    varbeginCol=0;

     varcols=colSumCols;

     varrowSpans=1; //行合并

     varcolSpans=1; //列合并

     

   excRange=oSheet.Range(oSheet.Cells(rowNum+1,1),oSheet.Cells(rowNum+1,colSumCols));

   excRange.Merge(true);

   excRange.value=tableTile;

   excRange.HorizontalAlignment=3;

   excRange.Font.Name="黑体";

   rowNum=rowNum+1;

    //寻找列数,考虑到第一行可能存在合并

    for(vari=0;i

        vartmpcolspan=obj.rows(0).cells(i).colSpan;

        if(tmpcolspan>1){

            cols+=tmpcolspan-1;

        }

    }

    //定义2维容器数据,1:

行;2:

列;值(0可以填充,1已被填充)

    varcontainer=newArray(rows);

    for(vari=0;i

        container[i]=newArray(cols);

        for(j=0;j

            container[i][j]=0;

        }

    }

    //将所有单元置为文本,避免非数字列被自动变成科学计数法和丢失前缀的0

    

    oSheet.Range(oSheet.Cells(rowNum+1,1),oSheet.Cells(rowNum+rows,cols)).NumberFormat="@";

    //Addobjheadersgoingcellbycell.

 //varstr="";

    for(i=0;i

        for(j=0;j

            //寻找开始列

            for(k=j;k

                if(container[i][k]==0){

                    beginCol=k;

                    k=cols;//退出循环

                }

            }

            //赋值

  try{

     varisHtml=obj.rows(i).cells(j).innerHTML;

      varinnerText=obj.rows(i).cells(j).innerText;

     //判断是否是文本框

            if(isHtml.indexOf("

             oSheet.Cells(i+1+rowNum,beginCol+1).value=innerText;

            }else{

             //str=str+"Names:

:

"+obj.rows(i).cells(j).getElementsByTagName("input")[2].name+"\n";

             oSheet.Cells(i+1+rowNum,beginCol+1).AddComment(obj.rows(i).cells(j).getElementsByTagName("input")[1].id);

            }

            //oSheet.Cells(i+1+rowNum,beginCol+1).value=obj.rows(i).cells(j).innerText;

            colSpans=obj.rows(i).cells(j).colSpan;

            if(colSpans>1){

                //合并

                oSheet.Range(oSheet.Cells(i+1+rowNum,beginCol+1),oSheet.Cells(i+1+rowNum,beginCol+colSpans)).Merge();

            }

            //将当前obj位置填写到对应的容器中

            for(k=0;k

                container[i][beginCol+k]=1;

            }

            rowSpans=obj.rows(i).cells(j).rowSpan;

            if(rowSpans>1){//行合并

                oSheet.Range(oSheet.Cells(i+1+rowNum,beginCol+1),oSheet.Cells(i+rowSpans+rowNum,beginCol+colSpans)).Merge();

                //将当前obj位置填写到对应的容器中

                for(k=1;k

                    for(l=0;l

                        container[i+k][beginCol+l]=1;

                    }

                }

            }

            //如果开始列+合并列已经等于列数了,故不需要再循环htmltable

            if(beginCol+colSpans>=cols)j=cols;

            

            }catch(e){

            }

        }

    }

    //字符大小为9

    oSheet.Range(oSheet.Cells(rowNum+1,1),oSheet.Cells(rowNum+rows,cols)).Font.Size=9;

    //自动调整列宽

    oSheet.Range(oSheet.Cells(1,1),oSheet.Cells(rowNum+rows,cols)).Columns.AutoFit();

    //自动调整行高

    oSheet.Range(oSheet.Cells(rowNum+1,1),oSheet.Cells(rowNum+rows,cols)).Rows.AutoFit();

    //划边框

    oSheet.Range(oSheet.Cells(rowNum+1,1),oSheet.Cells(rowNum+rows,cols)).Borders.LineStyle=1;

    rowNum=rowNum+rows;

    

    returnrowNum;

}

functionreadExcel()

{

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
javascript 导出 excel
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:javascript导出excel.docx
链接地址:https://www.bdocx.com/doc/6884623.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开