繁体   English   中英

如何在laravel中使用javascript将html表保存为excel文件格式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM