我正在尝试将html(blade.php文件)表保存到laravel的excel文件中。我的javascript代码
function exportToExcel() {
var htmls = "";
var uri = 'data:application/vnd.ms-excel;base64,';
var 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]--></head><body><table>{table}</table></body></html>';
var base64 = function(s) {
return window.btoa(unescape(encodeURIComponent(s)))
};
var format = function(s, c) {
return s.replace(/{(\w+)}/g, function(m, p) {
return c[p];
})
};
htmls = "YOUR HTML AS TABLE"
var ctx = {
worksheet : 'Worksheet',
table : htmls
}
var link = document.createElement("a");
link.download = "export.xls";
link.href = uri + base64(format(template, ctx));
link.click();
}按钮是
<input type="button" onclick="exportToExcel()" value="Export to Excel">
它工作得很好。
但是,问题是,它只适用于Chrome和microsoft-office:excel。不能在其他浏览器(IE7+,火狐等)和开放办公4(开放办公计算,开放办公数学等)软件中工作。
我该怎么做??如何在我的代码中添加其他软件和浏览器??
但是只显示"YOUR HTML AS TABLE".not my table的值。
发布于 2017-09-26 15:15:23
您可以使用jsfiddle文件保存器库
http://jsfiddle.net/TheSharpieOne/XNVj3/1/
并按如下方式使用:
var nameXclVar = new Blob([TblHtmCodVar], { type: "application/vnd.ms-excel" });
saveAs(nameXclVar, "NamXcl.xls");https://stackoverflow.com/questions/31284291
复制相似问题