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 相关文章推荐
Jquery 插件学习实例1 插件制作说明与tableUI优化
Apr 02 Javascript
使用jquery实现以post打开新窗口
Mar 19 Javascript
js图片预加载示例
Apr 30 Javascript
js字符串截取函数slice、substring和substr的比较
May 17 Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
Vue开发之封装上传文件组件与用法示例
Apr 25 Javascript
vue无限轮播插件代码实例
May 10 Javascript
原生JS无缝滑动轮播图
Oct 22 Javascript
JavaScript 判断数据类型的4种方法
Sep 11 Javascript
Antd的table组件表格的序号自增操作
Oct 27 Javascript
详解Vue数据驱动原理
Nov 17 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
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中文验证码实现方法
2015/06/18 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
2016/09/22 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
JS类中定义原型方法的两种实现的区别
2007/03/08 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
基于jquery的代码显示区域自动拉长效果
2011/12/07 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
2015/11/23 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
微信小程序 image组件遇到的问题
2019/05/28 Javascript
JS实现判断移动端PC端功能
2020/02/21 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
2020/07/19 Javascript
python文件写入实例分析
2015/04/08 Python
PyCharm在win10的64位系统安装实例
2017/11/26 Python
Atom的python插件和常用插件说明
2018/07/08 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
Europcar意大利:汽车租赁
2019/07/07 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
万户网络JAVA程序员岗位招聘笔试试卷
2013/01/08 面试题
法人授权委托书范本
2014/04/04 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书
学习保证书
2015/01/17 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
创业计划书之闲置物品置换中心
2019/12/25 职场文书
python turtle绘图
2022/05/04 Python