I am using
var tableToExcel = (function() {
var uri = 'data:application/vnd.ms-excel;base64,'
, template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>'
, base64 = function(s) {
return window.btoa(unescape(encodeURIComponent(s)))
}
, format = function(s, c) {
return s.replace(/{(\w+)}/g, function(m, p) {
return c[p];
})
};
return function(table, fileName) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = {
worksheet: fileName || 'Worksheet',
table: table.innerHTML
}
$("<a id='dlink' style='display:none;'></a>").appendTo("body");
document.getElementById("dlink").href = uri + base64(format(template, ctx))
document.getElementById("dlink").download = fileName;
document.getElementById("dlink").click();
}
})();
for exporting datatables to excel and it works fine in both chrome and firefox. however it gives
The data area passed to a system call is too small.
error in all IE versions. Please give me some workaround as how to solve this problem or suggest any new method that works in all browsers. I am googling about the same since yesterday but all in vain... Any help would be apperciated .. thanks
:Edit i have tried downloadify.js, filesaver but didn't worked for me .