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 相关文章推荐
解决3.01版的jquery.form.js中文乱码问题的解决方法
Mar 08 Javascript
jQuery中clone()方法用法实例
Jan 16 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
Jan 05 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
Aug 10 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
Sep 17 Javascript
Angular中实现树形结构视图实例代码
May 05 Javascript
js原生代码实现轮播图的实例讲解
Jul 28 Javascript
select标签设置默认选中的选项方法
Mar 02 Javascript
jQuery中each和js中forEach的区别分析
Feb 27 jQuery
解决vue跨域axios异步通信问题
Apr 17 Javascript
vue 地图可视化 maptalks 篇实例代码详解
May 21 Javascript
JS实现手风琴特效
Nov 08 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+mysql留言本源码
2009/11/11 PHP
php中函数的形参与实参的问题说明
2010/09/01 PHP
PHP基础学习之流程控制的实现分析
2013/04/28 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
Linux安装配置php环境的方法
2016/01/14 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
2020/05/02 PHP
取选中的radio的值
2010/01/11 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
2014/09/25 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
angularjs学习笔记之简单介绍
2015/09/26 Javascript
举例讲解如何判断JavaScript中对象的类型
2016/04/22 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
微信小程序点餐系统开发常见问题汇总
2019/08/06 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
JavaScript浅层克隆与深度克隆示例详解
2020/09/01 Javascript
JS实现简易日历效果
2021/01/25 Javascript
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
Python打印输出数组中全部元素
2018/03/13 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
Python使用numpy模块创建数组操作示例
2018/06/20 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
Django 开发环境与生产环境的区分详解
2019/07/26 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
伦敦眼门票在线预订:London Eye
2018/05/31 全球购物
Linux如何压缩可执行文件
2013/10/21 面试题
师范生自我鉴定
2014/03/20 职场文书
校园安全演讲稿
2014/05/09 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电