javascript - 是否可以改进 html 表导出到 xls

标签 javascript html excel

我使用了 this question 中的 JavaScript 函数并尝试使其适应我的应用程序。它有效,但也可以改进,我希望你能帮助我做到这一点

这是函数

function exportExcelReport(tblId) {
    var tab_text = "<table border='2px'><tr>";
    var table = document.getElementById(tblId);

    var style;
    for (var j = 0; j < table.rows.length; j++) {
        style = table.rows[j].className.split(" ");
        if (style.length < 2)
        tab_text = tab_text + table.rows[j].innerHTML + "</tr>";
    }

    tab_text = tab_text + "</table>";
    tab_text = tab_text.replace(/<a[^>]*>|<\/a>/g, "");
    tab_text = tab_text.replace(/<img[^>]*>/gi, "");
    tab_text = tab_text.replace(/<input[^>]*>|<\/input>/gi, "");

    return window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));
}

表格是这样的 Table html

这是导出后的结果 enter image description here

如您所见,导出的 excel 文件在背景中没有网格,这实际上看起来很奇怪。您知道为什么会这样吗?

我还想删除最后一列,即 YTD 之后的那一列。是否可以通过某种方式调整上面代码中的 tab_text.replace(...),以便在导出时忽略它。

该列在 html 中看起来像这样

</td><td width='20px'>
    <a class='infobox' href=''> 
         <img src='img/info.jpg' alt='info' width='18' height='18'>
         <span> 
             Service Engineer: ... <br>
             Datasource: ...
         </span>
    </a>
</tr>

提前致谢!

最佳答案

关于javascript - 是否可以改进 html 表导出到 xls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31025578/

相关文章:

javascript - jQuery 就绪函数值传递给 JavaScript 函数

javascript - 如何格式化这个json

javascript - JS元素插入导致意外移位

javascript - 在 safari 中使用 GainNode 创建平移

vba - vba中的错误1004

excel - 将字符串加载到 RichTextBox 中

javascript - "FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory"与 npm 搜索

html - Chrome 使用固定位置元素缓慢滚动

javascript - 滚动后更改 Bootstrap 导航栏品牌 Logo 图像的最佳方法?

vba - 如何使用 vba 代码选择整个工作表