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


Posted in Javascript onJuly 17, 2013
function getTableDataByXML(inTable, inWindow) {
    var rows = 0;
    //alert("getTblData is " + inWindow);
    var tblDocument = document;
    if (!!inWindow && inWindow != "") {
        if (!document.all(inWindow)) {
            return null;
        }
        else {
            tblDocument = eval(inWindow).document;
        }
    }
    var inTbl = tblDocument.getElementById(inTable);
    var outStr = "<?xml version=\"1.0\"?>\n";
    outStr = outStr + "<?mso-application progid=\"Excel.Sheet\"?>\n";
    outStr = outStr + "<Workbook xmlns=\"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 + "<Worksheet ss:Name=\"Sheet1\">\n";
    outStr = outStr + "<Table ss:ExpandedColumnCount=\"30\">\n";
    var re = /^[0-9]+.?[0-9]*$/; //是否为数字
    if (inTbl != null) {
        for (var j = 0; j < inTbl.rows.length; j++) {
            outStr += "<Row ss:AutoFitHeight=\"0\">\n";
            for (var i = 0; i < inTbl.rows[j].cells.length; i++) {
                if (i == 0 && rows > 0) {
                    outStr += "<Cell><Data ss:Type=\"String\"></Data></Cell>\n";
                    rows -= 1;
                }
                var cellValue = inTbl.rows[j].cells[i].innerText;
                //小于12位数字用Number
                if(re.test(cellValue) && (new String(cellValue)).length < 11){
                    outStr = outStr + "<Cell><Data ss:Type=\"Number\">" + cellValue + "</Data></Cell>\n";
                }else{
                    outStr = outStr + "<Cell><Data ss:Type=\"String\">" + cellValue + "</Data></Cell>\n";
                }
                if (inTbl.rows[j].cells[i].colSpan > 1) {
                    for (var k = 0; k < inTbl.rows[j].cells[i].colSpan - 1; k++) {
                        outStr += " <Cell><Data ss: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>";
    return outStr;
}

上述函数原本是导出txt文件的函数。把excel文件另存为一个xml文件,就可得到excel能识别什么内容格式的xml文件。
Javascript 相关文章推荐
默认让页面的第一个控件选中的javascript代码
Dec 26 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
Aug 26 Javascript
利用window.name实现windowStorage代码分享
Jan 02 Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
Jun 21 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
May 02 Javascript
npm国内镜像 安装失败的几种解决方案
Jun 04 Javascript
微信小程序支付之c#后台实现方法
Oct 19 Javascript
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
webpack之引入图片的实现及问题
Oct 08 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
May 20 Javascript
Vue强制组件重新渲染的方法讨论
Feb 03 Javascript
js检查页面上有无重复id的实现代码
Jul 17 #Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
Jul 17 #Javascript
jcrop基本参数一览
Jul 16 #Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
Jul 16 #Javascript
jquery特效 幻灯片效果示例代码
Jul 16 #Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
Jul 16 #Javascript
js判断屏幕分辨率的代码
Jul 16 #Javascript
You might like
php从右向左/从左向右截取字符串的实现方法
2011/11/28 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
用PHP解决的一个栈的面试题
2014/07/02 PHP
PHP抽奖算法程序代码分享
2015/10/08 PHP
jquery创建div 实现代码
2009/04/27 Javascript
9个javascript语法高亮插件 推荐
2009/07/18 Javascript
javascript实现的基于金山词霸网络翻译的代码
2010/01/15 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
vue filter 完美时间日期格式的代码
2019/08/14 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
VSCode搭建React Native环境
2020/05/07 Javascript
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
python绘制规则网络图形实例
2019/12/09 Python
使用keras内置的模型进行图片预测实例
2020/06/17 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
应届生如何写自荐信
2014/01/05 职场文书
大学生创业项目方案
2014/03/08 职场文书
大学专科求职信
2014/07/02 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
运动会表扬稿
2015/01/16 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
2015年社区工作总结
2015/04/08 职场文书
校车司机安全责任书
2015/05/11 职场文书
详解Laravel制作API接口
2021/05/31 PHP