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 相关文章推荐
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
Jun 26 Javascript
javascript之dhDataGrid Ver2.0.0代码
Jul 01 Javascript
functional继承模式 摘自javascript:the good parts
Jun 20 Javascript
javascript实用方法总结
Feb 06 Javascript
用原生js做单页应用
Jan 17 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
Jun 30 Javascript
基于DOM节点删除之empty和remove的区别(详解)
Sep 11 Javascript
vue-cli项目中怎么使用mock数据
Sep 27 Javascript
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
Oct 26 jQuery
layui table数据修改的回显方法
Sep 04 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
Sep 17 Javascript
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
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将数组转换成csv格式文件输出的方法
2015/03/14 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
jquery实现input输入框实时输入触发事件代码
2014/01/28 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
使用AngularJS来实现HTML页面嵌套的方法
2015/06/17 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
JS 实现百度搜索功能
2018/02/01 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
Python新手学习标准库模块命名
2020/05/29 Python
python中return不返回值的问题解析
2020/07/22 Python
python实现三种随机请求头方式
2021/01/05 Python
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
护理专业优质毕业生自荐书
2014/01/31 职场文书
教学改革实施方案
2014/03/31 职场文书
学生评语大全
2014/04/18 职场文书
关于环保的建议书
2014/05/12 职场文书
详解Python函数print用法
2021/06/18 Python
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL