javascript - 使用制表符下载多个 html 表格时遇到问题?

标签 javascript laravel tabulator

我可以使用制表符在一页上呈现两个表格。现在我需要将两个表导出到一个 Excel 工作簿(不同的工作表)中。

我尝试了文档中提供的示例,但未能成功。

在 head 标签内包含脚本

{{-- tabulator links --}}
<link rel="stylesheet" href="css/tabulator/tabulator_simple.css" rel="stylesheet">
<link rel="stylesheet" href="css/tabulator/tabulator_custom.css" rel="stylesheet">
<script src="js/tabulator/tabulator.min.js"></script>

{{-- XLSX Script Includes --}}
<script type="text/javascript" src="http://oss.sheetjs.com/js-xlsx/xlsx.full.min.js"></script>

我放置的内部 body 标签:

<br />
<input class="btn btn-default" type="button" id="download-xlsx" value="Download Excel">
<br />

{{-- tabulator table --}}
<br> table-1 caption <br />
<div id="tableOne" style="margin-top:15px"></div>

<br> table-2 caption <br />
<div id="tableTwo" style="margin-top:15px"></div>

这就是我在脚本标签中的内容

//define data
    var one = {!!$one!!}

    //define table
    var table = new Tabulator("#tableOne", {
        data:one,
        autoColumns:true,
        height:"500px",
        layout:"fitDataFill",
        selectable:true,
        clipboard:true,
    });

    //define data
    var two = {!!$two!!}

    //define table
    var table = new Tabulator("#tableTwo", {
        data:two,
        autoColumns:true,
        height:"500px",
        layout:"fitDataFill",
        // layout:"fitColumns",
        selectable:true,
        clipboard:true,
    });    

    //trigger download of data.xlsx file
    var sheets = {
    "sheetA": "#tableOne",
    "sheetB": "#tableTwo",
    };

    $("#download-xlsx").click(function(){
    table.download("xlsx", "AllData.xlsx", {sheets:sheets});
});

单击下载按钮时,打开 Excel 工作簿,其中包含 2 个工作表。第一张包含拳头表,没关系。但第二张纸是空的。为什么会这样?

最佳答案

请看这个demo您需要将表格变量放在要下载的表格变量中创建一个空table0以合并并下载它们

var sheets = {
"Example Data1": table1,
    "Example Data2": table2
};

    downloadXlxs = function(){
table0.download("xlsx", "data.xlsx", {sheets:sheets});
};

关于javascript - 使用制表符下载多个 html 表格时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55889097/

相关文章:

php - 如果期望值从 Laravel 的下拉列表中选择,如何获取另一个字段?

php - Laravel/SQL 按流行度/趋势排序

javascript - 制表符:是否可以为每行添加带有计算值的自定义列?

javascript - 如何使用Tabulator进行全行搜索?

Node.js 中的 jquery 制表器

javascript - 如何在 "extension"方法中修改这个对象?

javascript - 为什么使用 Promise 的异步 IO 会生成零长度文件?

javascript - 从 JS 启动 Tradingview 小部件替换整个主体

javascript - 在 JS 中减慢 .push() 间隔

javascript - 更新slot vuejs中的数据