javascript - 使用 Javascript 下载 xlsx 格式的 Excel 文件(将 html 表格导出到 Excel)

标签 javascript excel server html-table export-to-excel

我正在使用 JS、HTML 和 CSS 构建我的应用程序并将其托管在服务器上。我正在使用以下代码将所有 html 表格导入 xls 格式的 excel 文件。

function fnExcelReport(tableNames) {
    var tab_text = "";
    var arrTableNames = tableNames.split("|");
    if (arrTableNames.length > 0) {
        for (var i = 0; i < arrTableNames.length; i++) {

                tab_text = tab_text + "<table border='1px'>";

            tab = document.getElementById(arrTableNames[i]); 


            for (j = 0; j < tab.children.length; j++) {
                tab_text = tab_text + tab.children[j].innerHTML;
            }
            tab_text = tab_text + "</table><br/><br/>";
            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
    {
        if (window.navigator.msSaveBlob) {
            var blob = new Blob([tab_text], {
                type: "data:application/vnd.ms-excel;"
            });
            sa = navigator.msSaveBlob(blob, "report.xls");
        }
    } else //other browser not tested on IE 11
        sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));

    return (sa);
}

我可以下载文件并打开它,但是当我打开它时收到以下警告消息:

Warning message on Excel image

当我单击是时,我的所有数据都正确显示在 Excel 文件中。我不想看到那个警告信息。如何更改我的代码,使其以 xlsx 格式打开并删除警告消息?

最佳答案

这是因为内容不是“xls”类型。即,如果 excel 的类型为“xlsx”,您将收到此错误。尝试使用其他带有文件名的 excel 扩展名。

关于javascript - 使用 Javascript 下载 xlsx 格式的 Excel 文件(将 html 表格导出到 Excel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42419574/

相关文章:

javascript - 在 puppeteer 的所有页面上渲染标题

javascript - 如何将对象中的字符串值转换为数字和 bool 值?

excel - 可能的语法错误? "Expecting ="在来自用户窗体的子调用中

excel - 将数字转换为 hh :mm time format

VBA数据透视表数据源错误

email - 使用具有相同域的多个 smtp 服务器?

php - 在 bluehost 上为 laravel 应用程序设置服务器并遇到 php -v 问题

javascript - 无法将背景图像放入另一个图像中

javascript - 验证值是否为整数

http - HTTP服务器HandleFunc循环超时?