Экспорт Excel Изменить ширину столбца - PullRequest
0 голосов
/ 01 августа 2020

Я вытаскиваю таблицу из html и получаю результат в формате Excel напрямую. Мой код следующий.

function excelExportTableHtml(tableId, fileName = "serviscell") {
    var dateTime = new Date().toLocaleDateString();
    var html = $("#" + tableId).html();
    $("body").append('<div id="table-excel"></div>');
    $("#table-excel").html(html);

    var elt = document.getElementById("table-excel");

    var wb = XLSX.utils.table_to_book(elt, { sheet: "Sheet JS", dateNF: 'DD.MM.YYYY HH:mm:ss' });

    wb.Worksheets[0].SetColumnWidth(2, 500);

    var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'binary' });
    function s2ab(s) {
        var buf = new ArrayBuffer(s.length);
        var view = new Uint8Array(buf);
        for (var i = 0; i < s.length; i++) view[i] = s.charCodeAt(i) & 0xFF;
        return buf;
    }

    saveAs(new Blob([s2ab(wbout)], { type: "application/octet-stream" }), fileName + dateTime + '.xlsx');

    html = null;
    $("#table-excel").remove();
}

Но у меня проблема, заключающаяся в том, что я хочу расширить width своих столбцов. Например, сделав значение ширины всех столбцов 300px.

Я пробовал;

var wscols = [
    {wch:6},
    {wch:7},
    {wch:10},
    {wch:20}
];

ws['!cols'] = wscols;
...