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 研究心得 取得属性的值
Nov 30 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
May 16 Javascript
详解微信小程序开发之下拉刷新 上拉加载
Nov 24 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
Dec 26 Javascript
vue-router 学习快速入门
Mar 01 Javascript
ES6新特性之字符串的扩展实例分析
Apr 01 Javascript
ionic实现底部分享功能
May 11 Javascript
vue路由对不同界面进行传参及跳转的总结
Apr 20 Javascript
详解从vue-loader源码分析CSS Scoped的实现
Sep 23 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
Dec 02 Javascript
jQuery实现鼠标移入显示蒙版效果
Jan 11 jQuery
vue实现瀑布流组件滑动加载更多
Mar 10 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数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
php中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
PHP输入流php://input介绍
2012/09/18 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
JS批量操作CSS属性详细解析
2013/12/16 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
使用JavaScript实现连续滚动字幕效果的方法
2015/07/07 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
浅谈Vue static 静态资源路径 和 style问题
2020/11/07 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
[00:55]2015国际邀请赛中国区预选赛5月23日——28日约战上海
2015/05/25 DOTA
Python的动态重新封装的教程
2015/04/11 Python
python实现二分查找算法
2017/09/21 Python
python正则表达式之对号入座篇
2018/07/24 Python
python进程和线程用法知识点总结
2019/05/28 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
python——全排列数的生成方式
2020/02/26 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
django orm模块中的 is_delete用法
2020/05/20 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
Lookfantastic法国官网:英国知名美妆购物网站
2017/10/28 全球购物
劳资人员岗位职责
2013/12/19 职场文书
应届生简历中的自我评价
2014/01/13 职场文书
2014年惩防体系建设工作总结
2014/12/01 职场文书
恰同学少年观后感
2015/06/08 职场文书
五一晚会主持词
2015/07/01 职场文书
汽车车尾标语大全
2015/08/11 职场文书
python3操作redis实现List列表实例
2021/08/04 Python