I have the following function that exports an HTML to excel:
function generateexcel(tableid) {
var table= document.getElementById(tableid);
var html = table.outerHTML;
window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));
}
The problem is that, i can't put a specific file name to save as so the user gets something like:
Do you want to save %3Ctable%20id%3D%22tableRslts%22%20tabindex%3D%2235%22%20 file?
And the saved file is like:
IytvT8Jo.xls.part.xls
(at least in Firefox which is the target browser we will use)
How would you fix this?
There are two options which you could look into:
I'm not sure if you have done this already. You might need to handle something like this below in your aspx page:
$(window).load(function(){
$( "#clickExcel" ).click(function() {
var dtltbl = $('#dtltbl').html(); `enter code here`
window.open('data:application/vnd.ms-excel,' + $('#dtltbl').html());
});
});//]]>
In the above script #dtltbl is the Table Id.
The following code needs be there in your server side code, then your problem would be solved.
Response.AddHeader("Content-Disposition", "attachment;filename=myfilename.csv");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With