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 相关文章推荐
动态添加js事件实现代码
Mar 12 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
Jan 23 Javascript
JS常用字符串处理方法应用总结
May 22 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
Oct 30 Javascript
javascript实现显示和隐藏div方法汇总
Aug 14 Javascript
TypeScript Type Innference(类型判断)
Mar 10 Javascript
jQuery常用的一些技巧汇总
Mar 26 Javascript
浅谈JavaScript的闭包函数
Dec 08 Javascript
js编写简单的聊天室功能
Aug 17 Javascript
js读取本地文件的实例
Dec 22 Javascript
Node层模拟实现multipart表单的文件上传示例
Jan 02 Javascript
详解基于React.js和Node.js的SSR实现方案
Mar 21 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 miniBB中文乱码问题解决方法
2008/11/25 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
2014/06/12 PHP
ThinkPHP安装和设置
2015/07/27 PHP
ThinkPHP控制器详解
2015/07/27 PHP
PHP用continue跳过本次循环中剩余代码的注意点
2017/06/27 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
javascript函数声明和函数表达式区别分析
2014/12/02 Javascript
jquery中radio checked问题
2015/03/16 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
JS基于面向对象实现的放烟花效果
2015/05/07 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
2016/05/26 Javascript
sencha ext js 6 快速入门(必看)
2016/06/01 Javascript
概述如何实现一个简单的浏览器端js模块加载器
2016/12/07 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
Python断言assert的用法代码解析
2018/02/03 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
python和shell获取文本内容的方法
2018/06/05 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
CSS3实现内凹圆角的实例代码
2017/05/04 HTML / CSS
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
英国最受欢迎的母婴精品品牌:JoJo Maman BéBé
2021/02/17 全球购物
总经理助理岗位职责
2013/11/08 职场文书
高级销售求职信
2014/02/21 职场文书
运动员获奖感言
2014/08/15 职场文书
死亡诗社观后感
2015/06/05 职场文书