[英]how to save html table into excel file format using javascript in laravel
我试图将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 +,Firefox等)和Open Office 4(Open Office Calc,Open Office Math等)软件中无法使用。
我会做什么? 如何在我的代码中添加其他软件和浏览器?
但仅显示“您的HTML表格”。不显示我的表格值。
你可以使用jsfiddle文件保护程序库
http://jsfiddle.net/TheSharpieOne/XNVj3/1/
并使用如下:
var nameXclVar = new Blob([TblHtmCodVar], { type: "application/vnd.ms-excel" });
saveAs(nameXclVar, "NamXcl.xls");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.