如何在没有使用HTML表格的情况下使用JavaScript在HTML内容的Excel中创build表格?

我有一个HTML页面。 这有一个使用DIV标签创build的网格,并将显示属性设置为表和内部DIV的显示属性为表行和表格单元格。 如果我需要将这样的表导出为ex​​cel,有没有办法在JavaScript中做到这一点? 到现在为止,我只能想到的是将这些DIV重写为HTML TABLE标记。

<div class="tablediv" id="tablediv"> <div class="tablerow"> <div class="tablecell"> A </div> <div class="tablecell"> B </div> </div> <div class="tablerow"> <div class="tablecell"> 1 </div> <div class="tablecell"> 2 </div> </div> </div> .tablediv { display: table; } .tablerow { display: table-row; } .tablecell { display: table-cell; } 

 $("#btnExport").click(function(e) { //Convert DivTable to Table let TBLDiv=$("<div/>",{id:"TBLDivMain"}); let TBL=$("<table/>"); let TBO=$("<tbody/>"); $('#tablediv .tablerow').each(function(key,value){ let TR=$('<tr/>'); $(value).find(".tablecell").each(function(key,value){ let TD=$('<td/>',{text:$(value).text()}); TR.append(TD); }); TBO.append(TR); }); TBL.append(TBO); TBLDiv.append(TBL); //Export to Excel var file = new Blob([TBLDiv.html()], {type:"application/vnd.ms-excel"}); var url = URL.createObjectURL(file); var a = "<a id='Dow' href='"+url+"' download='filename.xls' ></a>"; $("body").append(a); var CickDownload= document.getElementById('Dow'); CickDownload.click(); $("body #Dow").remove(); e.preventDefault(); }); 
 .tablediv { display: table; } .tablerow { display: table-row; } .tablecell { display: table-cell; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="button" id="btnExport" value=" Export Table data into Excel " /> <br/> <br/> <div class="tablediv" id="tablediv"> <div class="tablerow"> <div class="tablecell">A</div> <div class="tablecell">B</div> </div> <div class="tablerow"> <div class="tablecell">1</div> <div class="tablecell">2</div> </div> </div>