Как экспортировать таблицу HTML, чтобы преуспеть, используя angularjs / javascript - PullRequest
0 голосов
/ 11 апреля 2019

Я написал ниже код для загрузки файла.Это работает для ограниченной записи.теперь мой счетчик записей больше 12000. Затем он зависает в браузере, а файл не загружен

var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
var edgetype = ua.indexOf("Edge");
var blobObject;
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
    expExcelIframe.document.open("txt/html", "replace");
    expExcelIframe.document.write(html);
    expExcelIframe.document.close();
    expExcelIframe.focus();
    expExcelIframe.document.execCommand("SaveAs", true, fileName);
}
else if (edgetype > 0) {
    blobObject = new Blob([html]);
    window.navigator.msSaveOrOpenBlob(blobObject, fileName);
}
else {
    window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));
}

1 Ответ

0 голосов
/ 12 апреля 2019

Заменить encodeURIComponent:

SLOW

window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));

Better

var blob = new Blob([html],{type: 'data:application/vnd.ms-excel' });
var u = URL.createObjectURL(blob);
window.open(u);

Это позволяет избежать интенсивного использования памяти и вычислений при преобразовании в base64.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...