`
codsoul
  • 浏览: 212491 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

js导出格式化的excel简单方法

 
阅读更多
js导出格式化的excel简单方法
2011-09-26 09:42:17     我来说两句 0
我要投稿    [字体: ]

1、最常见的方式是使用js函数操作excle文件,这种方式可能因浏览器不同,存在兼容性问题。
2、另一种简单方法就是导出一个excel能识别格式的xml文件,用excel打开。
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文件。

作者“ios2007”

分享到:
评论

相关推荐

    js导出格式化的excel 实例方法

    综上所述,文档中主要讨论了如何通过JavaScript导出格式化的Excel文件,特别强调了使用XML格式作为中间文件的重要性,并提供了相应的代码示例。这个知识点是前端开发者在实现导出功能时经常会遇到的一个问题,并且...

    js导出excel.zip

    "js导出excel.zip"这个压缩包提供了一个解决方案,它结合了EasyUI和DataGrid组件,支持多表头和数据值的格式化功能,适用于QUICKUI和QUIGRID环境,生成的文件格式为.xls,即传统Microsoft Excel 97-2003格式。...

    JavaScript 实现 Excel数据导出 支持多个Sheet页导出

    如果数据中包含日期或数字,还需要进行适当的格式化。 2. **创建HTML表格**:使用JavaScript动态创建一个HTML表格,将转换后的二维数组填充到表格中。表格的每一行和每一列都可以通过DOM操作来添加。 3. **样式...

    JS导出word、excel

    在实际应用中,JavaScript导出Word和Excel通常依赖于一些库,如jsPDF用于生成PDF,然后通过转换工具将PDF转为Word,或者使用xlsx库直接处理Excel文件。另外,Puppeteer是一个流行的浏览器自动化工具,可以通过控制...

    js操作table导出excel

    在JavaScript开发中,有时我们需要将HTML表格的数据导出为Excel文件,以便用户可以方便地存储和处理数据。本文将深入探讨如何使用JavaScript、...当然,实际应用中可能还需要考虑兼容性、数据格式化和错误处理等问题。

    JSP页面导出EXCEL简单方法

    需要注意的是,实际应用中可能还需要处理更复杂的情况,如分页数据的合并、样式设置、日期和数字格式化等问题。此外,为了提高性能和用户体验,还可以考虑异步导出,即通过Ajax请求触发导出,避免刷新整个页面。总之...

    无格式导出excel

    例如,Python有openpyxl、pandas的to_excel方法,Java有Apache POI,JavaScript有js-xlsx等库。这些库可以帮助我们读取、写入和操作Excel文件。 3. **文件格式**:Excel支持多种格式,如.xlsx(基于Open XML格式)...

    纯前端:luckysheet在线编辑Excel导出,Excel文件导入

    至于Excel文件的导入导出,Luckysheet支持读取和写入CSV、JSON以及Excel的XLSX格式文件。用户可以通过选择文件或者拖拽的方式,将本地的Excel文件上传到网页上,然后在Luckysheet中进行查看和编辑。反之,编辑后的...

    javaScript导出word和excel例子

    在JavaScript中,我们可以使用DOM API来操作HTML元素,包括读取、修改和创建新的元素,这在导出时非常关键,因为我们需要将HTML内容转换为适合Word或Excel的格式。 3. **文件导出原理**: JavaScript不能直接创建...

    easyui+数据导出为Excel

    在实际开发中,你可能还需要处理更多细节,比如数据格式化、错误处理、用户交互反馈等。同时,由于纯前端导出可能会面临大数据量的性能挑战,所以对于非常大的数据集,可能需要考虑分批导出或者服务端处理。 总的来...

    导出Excel功能,导出Excel功能,导出Excel功能

    2. **数据格式化**:在导出数据时,我们需要考虑如何格式化数据,如设置单元格样式(字体、颜色、边框)、日期格式、数字格式等,确保数据以用户友好的方式呈现。 3. **数据筛选与排序**:在导出前,可能需要根据...

    extjs grid数据导出excel文件

    总结来说,EXTJS Grid的数据导出到Excel是通过获取Grid数据、转换数据格式、利用SheetJS创建Excel文件,并最终提供下载链接来实现的。这一过程涉及到了EXTJS的Store操作、SheetJS的API使用以及前端文件操作等技术。...

    lodop导出ExcelDemo

    总的来说,"lodop导出ExcelDemo"是一个利用LODOP组件和JavaScript技术,实现Web应用中数据便捷导出为Excel格式的实例。这个功能对于那些需要在浏览器环境下处理大量数据的用户来说非常实用,简化了数据管理流程,...

    JS导出页面数据到excel

    - 数据格式化:将数据转化为CSV字符串,每一行代表一个单元格,用逗号分隔,换行符表示新行。 - 创建Blob:将CSV字符串转换成Blob对象。 - 创建URL:使用URL.createObjectURL方法生成一个指向Blob对象的URL。 - ...

    js导出数据到Excel

    ### JS导出数据到Excel的方法解析 在网页应用开发中,常常需要将表格中的数据导出至Excel文件,便于用户进行进一步的数据分析或保存。本文将深入探讨如何使用JavaScript实现这一功能,具体包括两种常见的导出方法:...

    js导出excel封装【原生、配置式】 示例

    原生JavaScript导出Excel的方式可以帮助我们摆脱对第三方库的依赖,提高项目的轻量化。本示例将详细介绍如何使用原生JavaScript实现配置式的Excel导出,并提供一个名为`table-to-excel-utils-demo`的示例项目。 ...

    spreadjs_导出 Excel 显示复选框而不是布尔值-demo.zip

    描述“spreadjs_导出 Excel 显示复选框而不是布尔值-demo”进一步强调了这个演示是关于在Excel导出中用复选框代替简单的文本值(如"True"或"False"),这在处理包含逻辑值的数据时非常有用,因为复选框更直观,用户...

    cognos 自定义导出PDF和Excel.doc

    ### Cognos自定义导出PDF与Excel功能详解 #### 一、背景介绍 Cognos是一款强大的商业智能(Business Intelligence, BI)工具,能够帮助用户进行...此外,通过对导出格式的支持进行扩展,能够满足更广泛的业务需求。

    纯JavaScript导出Excel

    "纯JavaScript导出Excel"的功能正是解决这个问题的一种方法,它允许开发者在不依赖任何后端服务或第三方库的情况下,直接在浏览器端将JSON格式的数据转换为可下载的Excel文件。这种技术对于那些对服务器交互有限制...

    前端导出Excel table2excel

    在前端开发中,有时我们需要提供一个功能,让用户能够将网页上的表格数据导出为Excel文件。"前端导出Excel table2excel"就是这样一个解决方案,它实现了在浏览器端将HTML表格直接转换为Excel文件,实现了“所见即...

Global site tag (gtag.js) - Google Analytics