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+CSS提示框实现思路及代码(纯手工打造)
May 07 Javascript
JQuery Tips相关(1)----关于$.Ready()
Aug 14 Javascript
js获得当前系统日期时间的方法
May 06 Javascript
jquery中val()方法是从最后一个选项往前读取的
Sep 06 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
Jan 12 Javascript
jQuery取得iframe中元素的常用方法详解
Jan 14 Javascript
学习JavaScript设计模式之观察者模式
Apr 22 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
May 26 Javascript
Bootstrap下拉菜单效果实例代码分享
Jun 30 Javascript
浅谈jQuery中的checkbox问题
Aug 10 Javascript
基于ssm框架实现layui分页效果
Jul 27 Javascript
javascript中正则表达式语法详解
Aug 07 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
德生PL330的评价与改造
2021/03/02 无线电
PHP4实际应用经验篇(6)
2006/10/09 PHP
用DBSQL类加快开发MySQL数据库程序的速度
2006/10/09 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
Laravel日志用法详解
2016/10/09 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
python中eval与int的区别浅析
2019/08/11 Python
Python批量启动多线程代码实例
2020/02/18 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
外贸英语毕业生自荐信
2013/11/14 职场文书
迟到检讨书800字
2014/01/13 职场文书
临床医师个人自我评价
2014/04/06 职场文书
护校行动方案
2014/05/31 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
实习单位推荐信
2015/03/27 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书