I am using following code to generate excel file from html table, It is working fine for small scale data set, When it es to large html table data set it is showing download error.
//creating a temporary HTML link element (they support setting file names)
var a = document.createElement('a');
//getting data from our div that contains the HTML table
var data_type = 'data:application/vnd.ms-excel';
var table_div = document.getElementById('dataTable');
var table_html = table_div.outerHTML.replace(/ /g, '%20');
a.href = data_type + ', ' + table_html;
//setting the file name
a.download = 'Sample.xls';
//triggering the function
a.click();
//just in case, prevent default behaviour
e.preventDefault();
I am using following code to generate excel file from html table, It is working fine for small scale data set, When it es to large html table data set it is showing download error.
//creating a temporary HTML link element (they support setting file names)
var a = document.createElement('a');
//getting data from our div that contains the HTML table
var data_type = 'data:application/vnd.ms-excel';
var table_div = document.getElementById('dataTable');
var table_html = table_div.outerHTML.replace(/ /g, '%20');
a.href = data_type + ', ' + table_html;
//setting the file name
a.download = 'Sample.xls';
//triggering the function
a.click();
//just in case, prevent default behaviour
e.preventDefault();
Share
Improve this question
edited Oct 14, 2017 at 19:49
glennsl
29.2k12 gold badges59 silver badges79 bronze badges
asked Dec 26, 2016 at 4:30
DimuthuDimuthu
1,6811 gold badge14 silver badges16 bronze badges
2 Answers
Reset to default 2I found one way to solve this issue using FileSaver.js 1: https://github./eligrey/FileSaver.js/ Please check followings
HTML
Javascript
this is working fine for me with large data set of HTML table.
Parsing large HTML tables can be extremely slow because of a lot of DOM elements. Please consider using a pure HTML5 canvas based data grid like this one (https://github./openfin/fin-hypergrid) or something along the line.
Also consider if saving as CSV is going to be quicker than saving as xls.