возникли проблемы с загрузкой нескольких HTML-таблиц с помощью табулятора? - PullRequest
1 голос
/ 28 апреля 2019

я мог бы управлять рендерингом двух таблиц на одной странице с помощью табулятора.Теперь мне нужно экспортировать обе таблицы в одну книгу 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>

и это то, что у меня внутри тегов script

//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 листами.Первый лист содержит первую таблицу, и это нормально.но второй лист пуст.почему так?

1 Ответ

1 голос
/ 29 апреля 2019

Пожалуйста, посмотрите это демо вам нужно поместить переменные таблицы в переменную листов, которую вы хотите загрузить, создать пустую таблицу0 для объединения и загрузки их

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

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