使用JavaScript将HTML表格数据导出到Excel / jQuery在Chrome浏览器中无法正常工作

苏卡内

我在力度模板中有一个HTML表。我想使用Java脚本或jquery将html表格数据导出到excel,与所有浏览器兼容。我正在使用以下脚本

<script type="text/javascript">
function ExportToExcel(mytblId){
       var htmltable= document.getElementById('my-table-id');
       var html = htmltable.outerHTML;
       window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));
    }
</script>

该脚本可以在Mozilla Firefox中正常运行,它会弹出一个excel对话框,并询问打开或保存选项。但是,当我在Chrome浏览器中测试了相同的脚本时,它无法按预期运行,当单击按钮时,Excel不会弹出。数据下载到文件名为“ file type:file”的文件中,没有.xls这样的扩展名chrome控制台中没有错误。

jsfiddle示例:

http://jsfiddle.net/insin/cmewv/

在mozilla中工作正常,但在chrome中则不能。

Chrome浏览器测试用例:

第一张图片:我点击“导出到Excel”按钮

第一张图片:我点击“导出到Excel”按钮

结果:

结果

样品:

Excel导出脚本可在IE7 +,Firefox和Chrome上运行。

function fnExcelReport()
{
    var tab_text="<table border='2px'><tr bgcolor='#87AFC6'>";
    var textRange; var j=0;
    tab = document.getElementById('headerTable'); // id of table

    for(j = 0 ; j < tab.rows.length ; j++) 
    {     
        tab_text=tab_text+tab.rows[j].innerHTML+"</tr>";
        //tab_text=tab_text+"</tr>";
    }

    tab_text=tab_text+"</table>";
    tab_text= tab_text.replace(/<A[^>]*>|<\/A>/g, "");//remove if u want links in your table
    tab_text= tab_text.replace(/<img[^>]*>/gi,""); // remove if u want images in your table
    tab_text= tab_text.replace(/<input[^>]*>|<\/input>/gi, ""); // reomves input params

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE "); 

    if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))      // If Internet Explorer
    {
        txtArea1.document.open("txt/html","replace");
        txtArea1.document.write(tab_text);
        txtArea1.document.close();
        txtArea1.focus(); 
        sa=txtArea1.document.execCommand("SaveAs",true,"Say Thanks to Sumit.xls");
    }  
    else                 //other browser not tested on IE 11
        sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));  

    return (sa);
}

只需创建一个空白的iframe:

<iframe id="txtArea1" style="display:none"></iframe>

在以下位置调用此函数:

<button id="btnExport" onclick="fnExcelReport();"> EXPORT </button>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

html5视频代码自动加载无法正常工作,如何在Chrome或任何浏览器中自动加载

将HTML表格导出到Google Chrome浏览器中的csv

我正在使用复选框chk.jpg作为图像,它在Google Chrome浏览器中工作正常,但在Mozilla Firefox中无法正常工作吗?

使用HTMLImports.whenReady无法在Chrome浏览器中工作

\n 使用 chrome 浏览器时无法在 php 代码中工作

将html内容导出到javascript中的excel

将HTML表导出到Excel-使用jQuery或Java

将HTML表格导出到Excel-在Office 2010中无法打开

将数据导出到Excel工作表

嵌套查询无法在iOS SDK中使用,但在环回浏览器中可以正常工作

无法将数据导出到 CSV 或 Excel

将HTML表格导出到ASP.NET Core中的excel文件

使用jQuery,HTML输入字段值设置器在Chrome和Safari中无法正常工作

无法将Google Chrome浏览器用作Eclipse中的外部浏览器

如何将HTML表格导出到具有不同工作表的单个Excel工作簿中?

关闭浏览器后如何使用 JavaScript 中的 promise 正常工作?

Javascript将HTML表格导出到Excel

JavaScript无法在任何浏览器中运行且已启用-已替换document.write发出警报,但仍然无法正常工作

jQuery API:.ajaxStart()在Chrome浏览器中似乎无法正常工作

如何使用ASP.NET MVC将数据从数据库导出到Excel工作表?

使用 URL 下载时出现 403 错误,但在浏览器中工作正常

将 R 数据框导出到 excel 但使用列标签作为 excel 文件中的标题

使用jQuery数据表将复选框数据导出到Excel

Javascript/html 文件无法在浏览器中正常打开???浏览器只是无限加载(在 safari 和 chrome 上尝试过)

使用php将excel中的ang检索数据导出到数据库

VBA 宏 - 将表格数据从 Excel 文件导出到 Word 并为每个工作表创建一个部分

setInterval正常工作,然后挂起浏览器javascript

使用SequelPro将表格导出到CSV文件中

刷新浏览器Angular应用无法正常工作。将应用程序部署到Tomcat中时出现404错误