【问题标题】:Export as excel from handsontable从handsontable导出为ex​​cel
【发布时间】:2016-03-09 00:22:55
【问题描述】:

我正在使用 Handsontable 插件将数据生成为 excel 格式。这样就完成了。

我需要将该数据导出为 excel 并下载。

handsontable 中是否有可用的功能?

如果没有,我该如何实现?这里,Handsontable 数据的表格格式不同

【问题讨论】:

    标签: javascript jquery handsontable


    【解决方案1】:

    目前还没有任何功能,它将在下个月的 Pro 版本中推出。与此同时,this stack answer 提供了您可以实施的解决方案。您想从handsontable 中解析数据对象,然后以正常的JS 方式将该字符串导出到csv。

    这里是fiddle,以防您不想点击链接,并附上相关代码:

    function parseRow(infoArray, index, csvContent) {
        var sizeData = _.size(hot1.getData());
        if (index < sizeData - 1) {
            dataString = "";
            _.each(infoArray, function(col, i) {
                dataString += _.contains(col, ",") ? "\"" + col + "\"" : col;
                dataString += i < _.size(infoArray) - 1 ? "," : "";
            })
    
            csvContent += index < sizeData - 2 ? dataString + "\n" : dataString;
        }
        return csvContent;
    }
    
    /**
     * Export to CSV button
     */
    var exportCsv = $("#export-csv")[0];
    if (exportCsv) {
        Handsontable.Dom.addEvent(exportCsv, "mouseup", function(e) {
            exportCsv.blur(); // jquery ui hackfix
            var csvContent = "data:text/csv;charset=utf-8,";
            csvContent = parseRow(colHeaders, 0, csvContent);  // comment this out to remove column headers
            _.each(hot1.getData(), function(infoArray, index) {
                csvContent = parseRow(infoArray, index, csvContent);
            });
            var encodedUri = encodeURI(csvContent);
            var link = document.createElement("a");
            link.setAttribute("href", encodedUri);
            link.setAttribute("download", $("h1").text() + ".csv");
            link.click();
        })
    }
    

    【讨论】:

    • 我在handsontable 中定义了colHeaders。我如何分配到外部
    • 嗯,你可以在外面定义它,然后在handsontable里面赋值。
    猜你喜欢
    • 2021-02-24
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    相关资源
    最近更新 更多