zl程序教程

您现在的位置是:首页 >  工具

当前栏目

js导出格式化的excel实例方法

2023-06-13 09:15:03 时间
复制代码代码如下:

functiongetTableDataByXML(inTable,inWindow){
   varrows=0;
   //alert("getTblDatais"+inWindow);
   vartblDocument=document;
   if(!!inWindow&&inWindow!=""){
       if(!document.all(inWindow)){
           returnnull;
       }
       else{
           tblDocument=eval(inWindow).document;
       }
   }
   varinTbl=tblDocument.getElementById(inTable);
   varoutStr="<?xmlversion=\"1.0\"?>\n";
   outStr=outStr+"<?mso-applicationprogid=\"Excel.Sheet\"?>\n";
   outStr=outStr+"<Workbookxmlns=\"urn:schemas-microsoft-com:office:spreadsheet\"";
   outStr=outStr+"xmlns:o=\"urn:schemas-microsoft-com:office:office\"";
   outStr=outStr+"xmlns:x=\"urn:schemas-microsoft-com:office:excel\"";
   outStr=outStr+"xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\">\n";
   outStr=outStr+"<Worksheetss:Name=\"Sheet1\">\n";
   outStr=outStr+"<Tabless:ExpandedColumnCount=\"30\">\n";
   varre=/^[0-9]+.?[0-9]*$/;//是否为数字
   if(inTbl!=null){
       for(varj=0;j<inTbl.rows.length;j++){
           outStr+="<Rowss:AutoFitHeight=\"0\">\n";
           for(vari=0;i<inTbl.rows[j].cells.length;i++){
               if(i==0&&rows>0){
                   outStr+="<Cell><Datass:Type=\"String\"></Data></Cell>\n";
                   rows-=1;
               }
               varcellValue=inTbl.rows[j].cells[i].innerText;
               //小于12位数字用Number
               if(re.test(cellValue)&&(newString(cellValue)).length<11){
                   outStr=outStr+"<Cell><Datass:Type=\"Number\">"+cellValue+"</Data></Cell>\n";
               }else{
                   outStr=outStr+"<Cell><Datass:Type=\"String\">"+cellValue+"</Data></Cell>\n";
               }
               if(inTbl.rows[j].cells[i].colSpan>1){
                   for(vark=0;k<inTbl.rows[j].cells[i].colSpan-1;k++){
                       outStr+="<Cell><Datass:Type=\"String\"></Data></Cell>\n";
                   }
               }
               if(i==0){
                   if(rows==0&&inTbl.rows[j].cells[i].rowSpan>1){
                       rows=inTbl.rows[j].cells[i].rowSpan-1;
                   }
               }
           }
           outStr+="</Row>\n";
       }
   }
   else{
       outStr=null;
       alert("你要导出的表不存在!!");
       return;
   }
   outStr=outStr+"</Table>\n</Worksheet>\n</Workbook>";
   returnoutStr;
}

上述函数原本是导出txt文件的函数。把excel文件另存为一个xml文件,就可得到excel能识别什么内容格式的xml文件。