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

时间:2015-06-24 11:41:18

标签: 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之后的那一栏。是否有可能在代码abowe中调整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>
提前谢谢!

1 个答案:

答案 0 :(得分:0)