zoukankan      html  css  js  c++  java
  • html5中 table数据导出到excel文件

    JS代码:

    /**
     * table数据导出到excel
     * 形参 table  : tableId ;
     *      sheetName : 工作薄名
     *      fileName  : 文件名
     *      linkId    :隐藏的链接控件id
     */
    
    var tableToExcel = (function () {
        var uri = 'data:application/vnd.ms-excel;base64,',
            template =
                '<html xmlns:o="urn:schemas-microsoft-com:office:office" ' +
                    'xmlns:x="urn:schemas-microsoft-com:office:excel" ' +
                    'xmlns="http://www.w3.org/TR/REC-html40"><head>' +
                    '<!--[if gte mso 9]><xml><x:ExcelWorkbook>' +
                    '<x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}' +
                    '</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions>' +
                    '</x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml>' +
                    '<![endif]--></head><body><table>{table}</table></body></html>',
            base64 = function (s) {
                return window.btoa(unescape(encodeURIComponent(s)));
            },
            format = function (s, c) {
                return s.replace(/{(w+)}/g, function (m, p) { return c[p]; });
            }
        return function (table, sheetName, fileName,linkId) {
            if (!table.nodeType)
                table = document.getElementById(table);
            var ctx = { worksheet: sheetName || 'Worksheet', table: table.innerHTML }
            var dlinkInfo = document.getElementById(linkId);
            dlinkInfo.href = uri + base64(format(template, ctx));
            dlinkInfo.download = fileName;
            dlinkInfo.click();
        }
    })();

    使用样例:

    html部分代码

    <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                    <div class="container">
                        <div class="row">
                            <div class="col-md-6">
                                <h4 class="modal-title" id="myModalLabel"></h4>
                            </div>
                            <div class="col-md-4">
                                <h4 class="modal-title" id="tipMessageLabel"></h4>
                            </div>
                            <div class="col-md-2">
                                <input type="button" onClick="exportDataToExcel()" value="导出到Excel"
                                       class="btn btn-primary">
                                <a id="dlink" style="display: none;"></a>
                            </div>
                        </div>
                    </div>
                </div>
                <div style=" height:550px; overflow:scroll;">
                    <table class="col-lg-12 table table-striped table-bordered"
                           id="relatedBaseInfoTable" style="max-height: 500px"></table>
    
                </div>

    JS代码

    var exeExportDataToExcel = function () {
        var sheetName = $("#tipMessageLabel").html();
        var fileName = $("#myModalLabel").html() + ".xls";
        tableToExcel("relatedBaseInfoTable", sheetName, fileName, "dlink");
    }
  • 相关阅读:
    BPF and eBPF linux
    o-sync-and-o-direct
    linux performance test
    iostat
    MYSQL IO innodb-buffer-pool
    MYSQL file types redo log
    read pread write pwrite open
    CORE DUMP
    linux kernel的中断子系统 softirq
    linux KERNEL 问题
  • 原文地址:https://www.cnblogs.com/pangkang/p/7871605.html
Copyright © 2011-2022 走看看