Экспортировать таблицу на флексах в excel

139
21 октября 2019, 03:20

Есть данные имеющие вид таблицы, но html таблицей не являющиеся. Верстка сделана на флексах. Появилась нужда экспортировать эти данные в excel, используя js. Стандартно задача решена, для html таблицы работает. Как быть в моем случае, чтобы в excel нормально записывались данные.

    <div id="personal-data">
        <ul class="number">
            <li class="title"><span>№</span></li>
             <li>1</li>
             <li>2</li>
             <li>3</li>
        </ul>
        <ul class="name">
            <li class="title"><span>Name</span></li>
            <li>Name_1</li>
            <li>Name_2</li>
            <li>Name_3</li> 
        </ul>
</div>

Решение для таблицы:

function exportTableToExcel(tableID, filename = ''){
    var downloadLink;
    var dataType = 'application/vnd.ms-excel';
    var tableSelect = document.getElementById(tableID);
    var tableHTML = tableSelect.outerHTML.replace(/ /g, '%20');
    // Specify file name
    filename = filename?filename+'.xls':'excel_data.xls';
    // Create download link element
    downloadLink = document.createElement("a");
    document.body.appendChild(downloadLink);
    if(navigator.msSaveOrOpenBlob){
        var blob = new Blob(['\ufeff', tableHTML], {
            type: dataType
        });
        navigator.msSaveOrOpenBlob( blob, filename);
    }else{
        // Create a link to the file
        downloadLink.href = 'data:' + dataType + ', ' + tableHTML;
        // Setting the file name
        downloadLink.download = filename;
        //triggering the function
        downloadLink.click();
    }
}
READ ALSO
как методом пост добавить запись в db?

как методом пост добавить запись в db?

когда я делаю запрос к api методом пост

160
mySQL: проверка значения на &ldquo;пустоту&rdquo;

mySQL: проверка значения на “пустоту”

Нужно проверить значение поляЕсли в нем содержится: - пустая строка '' - либо строка состоящая ли любого количества пробелов - либо NULL то, вернуть...

136
Почему &lt;blockquote&gt; внутри &lt;p&gt; выдает ошибку?

Почему <blockquote> внутри <p> выдает ошибку?

Почему <blockquote> внутри <p> выдает ошибку? И все при этом функционирует в браузере вполне нормально, цитирование на месте, весь дальнейший...

127
Размытый текст в салайдере owl-carousel

Размытый текст в салайдере owl-carousel

На некоторых разрешениях(возможно нет) в Chrome текст на слайдере размытый текстНа ноутбуке первый слайдер текст нормальный, другие размытые

122